Как исправить несоответствие потоковых / не защищенных потоков модулем PHP? - PullRequest
3 голосов
/ 17 июля 2010

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

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, похоже, что источник не менее поточнобезопасен.

1 Ответ

6 голосов
/ 07 октября 2011

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

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

...