php - 如何在 Apache2 服务器上启用线程安全

标签 php multithreading apache pthreads debian

我正在尝试在我的 Apache2 服务器上启用线程安全,以便最终能够使用 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 作为最后一种情况。移动后pthreads.so在正确的 CLI 代表中,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 options 成功启用 Zend Thread Safety PHP 端和 Worker MPM Apache 端。

如果您需要关于 ./configure 的信息选项请评论。

注意:通过 apt-get source 构建 PHP 和 Apache 包对我不起作用。即使通过编辑 debian/rules具有所需配置选项的文件。软件包将安装但不考虑 --enable-maintainer-zts--with-mpm=Worker .

关于php - 如何在 Apache2 服务器上启用线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26471775/

相关文章:

php - 插入数据后选项刷新

php - 从 PHP 调用外部 shell 脚本并获取其进程 ID

iphone - 带有 UIActivityIndi​​cator 的 UIAlertView 显示得太晚/线程问题

php - 使用 htaccess 删除尾部斜杠

Apache 文件夹索引描述字段

PCF 中的 Apache Fronted 和 Tomcat

php - 如何在 Drupal 7 中以编程方式获取具有特定字段的所有内容类型?

php - Symfony 2 以前的 URL

python - 当每个脚本在 python 中都有多个线程时,从主脚本同时运行两个脚本

java - 两个线程引用了非同步类的非共享实例。线程问题?