论题提交:我非我[F.S.T]
信息来源:邪恶八进制信息安全团队(
www.eviloctal.com)
前几天在疯狂看php手册.
研究php_win32api模块的时候.发现手册上的那些函数一个都不能用.php提示未定义函数..(w32api_register_function等)
大汗..仔细看了看.原来此模块的函数只有在4.2.0-4.2.3才有..
我马上用php内置函数察看了下我机器上php版本的此模块包含的方法.
复制内容到剪贴板
代码:
<?php
print_r(get_extension_funcs("Win32 API"));
?> 结果得到了空数组..
暴汗.都是个空壳子那php还把这个dll放进来干什么?郁闷了下.去网上php主站察看在线php手册.
终于看到了别人的讨论.原来php_win32api模块在以后的版本里都是以
win32类的形式出现的..
可手册上没有此类的原形,难道这是个
未公布的预定义类?..
..继续郁闷了下.把别人讨论里的例子改了改回家测试了下.
如下代码:
复制内容到剪贴板
代码:
<?php
if (!dl("php_w32api.dll")) {
echo "Unable to load php_w32api.dll";
exit;
}
$api = new win32;
$api->registerfunction("bool QueryPerformanceCounter (float &lpPerformanceCount) From kernel32.dll");
$api->registerfunction("bool QueryPerformanceFrequency (float &lpPerformanceFrequency) From kernel32.dll");
$api->QueryPerformanceCounter($a);
$api->QueryPerformanceFrequency($b);
$c = $a/$b;
$days = floor($c / 86400);
echo gmstrftime("System uptime is $days Days, %H Hr, %M Min, %S Sec<br>", $c);
?>从kernel32.dll文件里定义了函数.结果发现在我家apache2.0.18上,一到定义winapi函数原形这里(就是registerfunction方法这里),先是假死,然后就会出错崩溃.
天啊..我还啥都没干呢..这下我是彻底没辙了.各位牛人.小弟先有礼了.请问大家是否有什么主意?