如何在Apache2服务器上启用Thread Safety

时间:2014-10-20 17:47:21

标签: php multithreading apache pthreads debian

我正在尝试在我的Apache2服务器上启用Thread Safety,以便最终能够使用PHP pthreads模块(PHP多线程)。

到目前为止,我使用选项(在COMMON_CONFIG下)

从源代码编译PHP
--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?

任何英特尔非常感谢,谢谢!

1 个答案:

答案 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