如何使用Microsoft Visual C++ 2008编译PHP扩展?

Mar*_*lor 8 php c++ dll php-extension php-internals

我创建了一个PHP Hello World与Microsoft Visual C++ 2008扩展DLL我有权利php.ini(我知道,因为当我启用和禁用GD2扩展,有一个效果),但是当我加载扩展它没有履行附加模块弹出在phpinfo().

当我尝试测试函数(一个简单的double()函数)时,它显然不起作用.我用过这个教程).

如果有人可以提供他们在创建时创建的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
Run Code Online (Sandbox Code Playgroud)

这是否意味着我必须使用版本9来编译PHP?

Mar*_*lor 1

评论中的解决方案...

-我找到了解决方案forums.zend.com/viewtopic.php?f=55&t=2045

-可能重复:问题:stackoverflow.com/questions/3641751/

我收到这些警告

c:\wamp\bin\php\php-5.3.5src\zend\zend_build.h(19) : warning C4005: 'PHP_COMPILER_ID': macro redefinition c:\wamp\bin\php\php-5.3.5src\main\config.w32.h(189) : see previous definition of 'PHP_COMPILER_ID' 1>
c:\wamp\bin\php\php-5.3.5src\main\config.w32.h(189) : warning C4005: 'PHP_COMPILER_ID' : macro redefinition 1> 
c:\wamp\bin\php\php-5.3.5src\zend\zend_build.h(19) : see previous definition of'PHP_COMPILER_ID'
Run Code Online (Sandbox Code Playgroud)

我认为这与我的实际上说是用 VC9 编译而其他的则什么都没有有关。(它们是警告,但我认为这就是它不起作用的原因)

好吧,什么也没做,只是尝试了一下,但是当我运行扩展时它起作用了。我仍然收到来自 php --ini 的错误,但它运行并有效。