【发布时间】:2011-06-21 22:03:36
【问题描述】:
我使用 Microsoft Visual C++ 2008 创建了一个 PHP Hello World 扩展 DLL。我拥有正确的 php.ini(我知道,因为当我启用和禁用 gd2 扩展时,会有 效果) ,但是当我加载扩展时,它不会在phpinfo() 的附加模块下弹出。
当我尝试测试函数(一个简单的double() 函数)时,它显然不起作用。我用this tutorial)。
如果有人可以提供他们在执行此操作时创建的 dll(以查看我的是否搞砸了或者它是否是我的服务器),那么我很乐意对其进行测试。
系统规格
操作系统:Windows (Vista)
服务器:WAMP
PHP:5.3.5(Xampp 和 IIS 也安装了)
当我运行命令 php --ini 时,我收到此错误:
PHP Startup: TalkPHP Extension: Unable to initalize module
Module compiled with build ID=API20090626, TS, VC9.
PHP compiled with build IF=API20090626, TS, VC6.
These options need to match
这是否意味着我必须使用版本 9 来编译 PHP?
【问题讨论】:
-
你的操作系统和网络服务器是什么?
-
你重启了吗?您是否尝试通过
dl("yourext.dll");加载它? -
由于某种原因,当我启用 dl() 时,它说它已在 phpinfo() 中启用,但说它是我程序上未定义的函数
-
dl() 可能已添加到 disabled_functions 指令中。
-
@Orbling 很抱歉,这里已经很晚了(凌晨 3:30)。这是问题的正确链接:stackoverflow.com/questions/3641751/…
标签: php c++ dll php-extension php-internals