PHP 7中的多线程

3
如何在PHP7中进行多线程处理?使用pthread的第一个问题,直接来自于PHP手册。

https://secure.php.net/manual/en/intro.pthreads.php

pthreads扩展不能在Web服务器环境中使用。因此,PHP中的多线程处理应该仅限于基于CLI的应用程序。

是否可以忽略此警告,并在HTTP请求上生成一些线程?


1
你尝试过这样做吗?或者使用像Rabbit MQ、Gearman等其他工具。 - M A SIDDIQUI
我了解了一些关于Gearman的内容。我的理解是它将作为一个独立的进程进行接口交互。目前还没有检查任何MQ。但我正在谈论这种语言本身。 - Amr Eladawy
Gearman很好用,我正在使用它。你可以使用supervisord监控所有的进程。它基本上在后台运行,并创建了许多线程。 - M A SIDDIQUI
1个回答

3

监控这个警告并在HTTP请求上产生一些线程是安全的吗?

扩展本身禁止在除CLI之外的任何SAPI中加载:在任何其他SAPI中尝试加载将导致致命错误。


该库禁止这样做。但是有一些变通方法 http://www.smddzcy.com/2016/01/tutorial-multi-threading-in-php7-pthreads/ - Amr Eladawy
这不是一个解决方法,而是如何在CLI中加载pthreads的说明。 - Joe Watkins
那么主要问题的答案是什么呢?如何在php7中进行多线程处理? - Amr Eladawy
2
@AmrElAdawy 我认为PHP在处理HTTP请求时不支持多线程,因此你需要另一种编程语言。在我看来,最适合这个任务的语言是GO。 - Gujarat Santana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接