我们在开发系统中使用Windows。我正在手动安装PHP,Apache,MySQL。都是邮包里的。现在:
如果我使用php线程安全二进制文件: 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线程安全是禁用的。所以我下载了没有线程安全的二进制文件从这里开始。
现在,我遇到了另一个问题: 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.如何在Windows中安装支持pdo_mysql的php?那么,命令行php.exe可以工作吗?
注意:在线程安全二进制文件中,虽然php.exe没有加载pdo_mysql,但是PHP能够加载它。因为在phpinfo里,它出现了。
发布于 2010-03-04 09:41:59
抱歉的!太蠢了。我发现这就是问题所在: Apache正在使用线程安全的SAPI。命令行使用Zend提供的php.exe!
我重新配置了"PATH“环境变量:所以现在它指向线程安全包中的php.exe。问题解决了。
https://stackoverflow.com/questions/2377866
复制相似问题