我正在尝试在我的Apache2服务器上启用Thread Safety,以便最终能够使用PHP pthreads模块(PHP多线程)。
到目前为止,我使用选项(在COMMON_CONFIG
下)
--enable-maintainer-zts
和phpinfo说Thread Safety disabled
然后我重新编译:
--enable-maintainer-zts
--enable-roxen-zts
和phpinfo说Thread Safety disabled
最后我尝试了:
--enable-maintainer-zts
--enable-roxen-zts
--with-tsrm-pthreads
和phpinfo说Thread Safety disabled
我仍尝试使用pecl安装pthreads作为最后一种情况。在正确的CLI代表中移动pthreads.so
之后,PHP说:
~ # php -m
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/pthreads.so' - /usr/lib/php5/20121212/pthreads.so: undefined symbol: sapi_globals_id in Unknown on line 0
我做错了什么?我是否需要使用特殊的./configure选项从源代码编译Apache?
任何英特尔非常感谢,谢谢!
答案 0 :(得分:0)
从Apache.org和PHP.net下载源代码一切顺利。然后使用正确的./configure
选项成功启用了Zend Thread Safety PHP端和Worker MPM Apache端。
如果您需要./configure
选项的信息,请发表评论。
注意:通过apt-get source
构建PHP和Apache软件包并不适用于我。即使使用所需的配置选项编辑debian/rules
文件也是如此。这些软件包会安装但不会考虑--enable-maintainer-zts
和--with-mpm=Worker
。