PHP中的多线程编程,以避免运行时限制

Lot*_*har 3 php multithreading

我知道PHP不是多线程的,但我和朋友谈过这个问题:如果我有一个大的算法问题,我想用PHP解决不是简单地使用"curl_multi_xxx"接口并在同一个上启动n个HTTP请求的解决方案服务器.这就是我称之为PHP风格的多线程.

在典型的Web服务器环境中是否存在此问题?等待"curl_multi_exec"的主请求不应该计算任何时间与其最大运行时间或内存长度.

我从来没有在任何地方看到过将其作为一种解决方案来防止由于限制性太强的PHP管理设置而导致脚本被杀死.

如果我将此作为一个功能添加到一个流行的PHP系统中,是否会有服务器管理员雇用俄罗斯黑手党杀手来报复这个黑客攻击?

Spe*_*ort 5

如果我将此作为一个功能添加到一个流行的PHP系统中,是否会有服务器管理员雇用俄罗斯黑手党杀手来报复这个黑客攻击?

不,但它仍然是一个可怕的想法,没有其他原因,PHP应该呈现网页.没有运行大算法.我看到人们一直试图在ASP.Net中这样做.有两个正确的解决方案.

  1. 让您的PHP脚本生成一个独立于Web服务器运行的进程,并使用有关PHP脚本可以访问的任务进度的信息更新公共数据存储(可能是数据库).
  2. 拥有一个持续运行的守护程序,用于检查公共数据存储中的作业,PHP脚本可以向其发出作业并查看当前正在运行的作业的进度.