Compiling a php extension with Visual Studio 2008, MODULE ID don't match with php

╄→гoц情女王★ 提交于 2019-12-19 04:19:05

问题


After compiling my own php extension using VC9 (2008) and VC10 (2010) using the next steps:

http://blog.slickedit.com/2007/09/creating-a-php-5-extension-with-visual-c-2005/

I get the next error when initializing php:

PHP Warning:  PHP Startup: FirstPHPExt Module: Unable to initialize module
Module compiled with build ID=API20090626,TS
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match
 in Unknown on line 0

Why it doesn't says that I compiled the module with VC9?

More info:

Operating System: Windows7 x64 PHP: 5.3.3,TS,VC9


回答1:


Ok, I found the solution:

You must add a preprocessor constant into php-src/Zend/zend_build.h:

#define PHP_COMPILER_ID "VC9"

And it will work.


Solution found here: http://forums.zend.com/viewtopic.php?f=55&t=2045




回答2:


The official documentation for building PHP and extensions is in the wiki.

You should create a config.w32 file to your extension and build it through the command line. That's the method that's officially supported.




回答3:


And it is strongly recommended to use the same CRT (VC9) than php itself. There are known issues when mixed CRTs are used between apache, php or its extensions.



来源:https://stackoverflow.com/questions/3641751/compiling-a-php-extension-with-visual-studio-2008-module-id-dont-match-with-ph

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!