php - 如何在Redhat 6.5上为多线程设置php

标签 php multithreading installation

我已经使用多线程在C++和Java中进行了编码。我想使用PHP CLI,但是还没有找到一种将服务器设置为允许多线程的简单方法。我希望能够使用工作线程,但需要设置服务器。它是Redhat 6.5。

提前致谢。

最佳答案

先决条件

要使用pthreads,必须在启用线程安全的情况下构建PHP。

请注意,PHP 确实使具有线程模型,而,则考虑了线程体系结构。

但是,它通常不是PHP的默认构建模式,程序包维护人员倾向于迎合大众,而大众也不在乎线程安全。

配置

如果您当前安装了PHP,并且正在将其与apache prefork mpm或其他一些非线程安全的安装程序一起使用,则请保持该安装不变。最好的办法是构建隔离的PHP安装,以在控制台上使用。

以下示例 session 说明了如何隔离/opt中的安装

git clone https://github.com/php/php-src
cd php-src
git checkout PHP-5.6
./buildconf
./configure --prefix=/opt --with-config-file-path=/opt --with-config-file-scan-dir=/opt/etc.d --enable-maintainer-zts
make
sudo make install

安装pthread

使用PHP的线程安全构建,安装pthreads非常容易。以下示例 session 说明了如何安装最新的pthreads源
git clone https://github.com/krakjoe/pthreads
cd pthreads
phpize
./configure
make
sudo make install

运行通过pthreads分发的测试套件是确保一切正常的好方法:
make test

要一直加载pthread:
echo extension=pthreads.so > /opt/etc.d/pthreads.ini

关于php - 如何在Redhat 6.5上为多线程设置php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25632059/

相关文章:

c# - winform 中的线程问题

c++ - 如何修复 `cmake .. && make install` "No rule to make target install"?

visual-studio - 如何使用 Visual Studio 将文件版本嵌入 MSI 文件中?

php - 按组显示要配置的帖子

Android SurfaceView Canvas 用线程绘制

php - 为什么 cron 执行 php 脚本有点不同?

java - 在java中读取大txt文件时使用线程?

python - 运行命令时 $ 是什么意思?

php - 缺少语言回退的 mysql 翻译表

php - 使用PHP从SQL表删除行