Установка PHP в Windows - «php.exe» и «PHP SAPI» должны поддерживать pdo_mysql - PullRequest
0 голосов
/ 04 марта 2010

Мы используем Windows для наших систем разработки. Я устанавливаю PHP, Apache, MySQL вручную. Все из почтовых пакетов. Сейчас:

Если я использую php thread safe binaries: pdo_mysql не загружается при выполнении php.exe из командной строки. Я получаю следующее предупреждение:

PHP Warning:  PHP Startup: pdo_mysql: Unable to initialize module
Module compiled with module API=20060613, debug=0, thread-safety=0
PHP    compiled with module API=20060613, debug=0, thread-safety=1
These options need to match
 in Unknown on line 0

Я проверил наш рабочий сервер RHEL, там безопасность php thready отключена. Таким образом, я скачал не потоковые бинарные файлы отсюда .

Теперь я столкнулся с другой проблемой: Apache не запускается. В файле error.log написано:

[Thu Mar 04 13:54:08 2010] [crit] Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe.  You need to recompile PHP.
Pre-configuration failed
[Thu Mar 04 13:54:08 2010] [warn] (OS 995)The I/O operation has been aborted because of either a thread exit or an application request.  : winnt_accept: Asynchronous AcceptEx failed.

Как мне установить php с поддержкой pdo_mysql в Windows? Итак, что работает командная строка php.exe?

Примечание. В поточно-ориентированном двоичном файле, хотя php.exe не загружал pdo_mysql, PHP API смог его загрузить. Потому что в phpinfo оно появилось.

1 Ответ

0 голосов
/ 04 марта 2010

Извини! Это было глупо. Я понял, что это была проблема: Apache использовал поточно-ориентированный SAPI. Командная строка использовала php.exe, предоставленный Zend Core!

Я перенастроил переменную среды «PATH»: теперь она указывает на php.exe в поточно-ориентированном пакете. Проблемы решены.

...