После компиляции моего собственного расширения php с использованием VC9 (2008) и VC10 (2010), используя следующие шаги:
Я получаю следующую ошибку при инициализации 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
Почему он не говорит, что я скомпилировал модуль с VC9 ?
Больше информации:
Операционная система: Windows7 x64 PHP: 5.3.3, TS, VC9
Хорошо, я нашел решение:
Вы должны добавить константу препроцессора в php-src / Zend / zend_build.h :
#define PHP_COMPILER_ID "VC9"
И это сработает.
Решение найдено здесь: http://forums.zend.com/viewtopic.php?f=55&t=2045
Официальная документация по созданию PHP и расширений находится в вики .
Вы должны создать файл config.w32
для своего расширения и создать его через командную строку. Это метод, который официально поддерживается.
И настоятельно рекомендуется использовать тот же CRT (VC9), что и сам php. Известны проблемы, когда смешанные ЭЛТ используются между apache, php или его расширениями.