Как исправить несоответствие потокобезопасного/непоточно-ориентированного модуля PHP?

Это из журнала ошибок:

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

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

Как мне получить исходный код, не являющийся потокобезопасным, для PHP? Единственная ссылка для загрузки, которую я нашел на windows.php.net/download, была http://windows.php.net/downloads/releases/php-5.3.2-src.zip, и это похоже на потокобезопасный код --- или есть какой-то способ сообщить источнику, что он на самом деле не потокобезопасный?

Я попытался поместить --disable-zts в командную строку для configure.bat, но хотя это хорошо влияет на выходные данные configure.bat, похоже, это не делает источник менее потокобезопасным.


person bugmagnet    schedule 17.07.2010    source источник


Ответы (1)


В вашем случае выше сам PHP не является потокобезопасным (NTS), но модуль является потокобезопасным (TS). Модуль потокобезопасен, поскольку определена константа Zend Thread-Safe ZTS (либо в исходном коде модуля, либо в определениях препроцессора VS 2008).

Простое изменение ZTS=1 на ZTS=0 не работает.
Вы должны полностью удалить определение ZTS.

person Wiseguy    schedule 07.10.2011