我已经使用多线程在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/