Php 如何在Apache2服务器上启用线程安全
我试图在Apache2服务器上启用线程安全,以便最终能够使用PHP pthreads模块(PHP多线程) 到目前为止,我使用选项从源代码编译PHP(在Php 如何在Apache2服务器上启用线程安全,php,multithreading,apache,pthreads,debian,Php,Multithreading,Apache,Pthreads,Debian,我试图在Apache2服务器上启用线程安全,以便最终能够使用PHP pthreads模块(PHP多线程) 到目前为止,我使用选项从源代码编译PHP(在COMMON\u CONFIG下): phpinfo说线程安全被禁用 然后我重新编译了: --enable-maintainer-zts --enable-roxen-zts phpinfo说线程安全被禁用 最后,我尝试了: --enable-maintainer-zts --enable-roxen-zts --with-tsrm-pthrea
COMMON\u CONFIG
下):
phpinfo说线程安全被禁用
然后我重新编译了:
--enable-maintainer-zts
--enable-roxen-zts
phpinfo说线程安全被禁用
最后,我尝试了:
--enable-maintainer-zts
--enable-roxen-zts
--with-tsrm-pthreads
phpinfo说线程安全被禁用
我仍然尝试使用pecl安装pthreads作为最后一个案例场景。在正确的CLI rep中移动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
非常感谢任何英特尔公司,谢谢 通过从Apache.org和PHP.net下载源代码,一切顺利。然后使用正确的
/configure
选项成功地启用了Zend线程安全PHP端和Worker MPM Apache端
如果您需要有关/configure
选项的信息,请发表评论
注意:通过
apt-get-source
构建PHP和Apache包对我来说不起作用。甚至通过使用所需的配置选项编辑debian/rules
文件。软件包将安装,但不考虑--启用维护者zts
和--使用mpm=Worker
无需重新编译Apache。我在3天前启用了线程安全,启用了维护者zts,它工作得很好。Pthreads也可以编译成PHP,但您必须首先从GIT下载它。你确定你使用了正确的构建[Path,…]吗?我在大约两周前成功构建了所有内容,但懒得更新我的帖子:p我所做的是从PHP.net/Apache.org源代码而不是apt get source
编译。然后使用正确的/configure
选项,一切正常。请您指导如何操作。。。thanx提前2年了现在还不确定。我确信的是从php.net下载php源代码,从Apache.org下载Apache源代码。然后添加选项——启用维护程序zts并编译。我尝试了所有方法,但都不起作用。。。我不知道我做错了什么。
~ # 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