在后台执行PHP文件

时间:2012-12-03 17:02:01

标签: php multithreading

我有一些PHP代码,可以执行很长时间。

我需要实现下一个方案:

  1. 用户在某页面上输入(第1页)
  2. 此页面开始在后台执行我的大型PHP脚本。(每次更改都写入数据库)
  3. 我们将每N秒查询发送到数据库以获取当前执行状态。
  4. 我不想使用exec命令,因为1000个用户制作了1000个php进程。这对我来说不是......

3 个答案:

答案 0 :(得分:1)

在脚本中结合phps ignore_client_abort()功能,对本地http服务器使用http请求。

这样你就可以将负载保留在http服务器工作进程中,具有自然限制并且请求的排队是免费的。

答案 1 :(得分:1)

所以你基本上想要一个队列(可能存储在数据库中)和cron运行的命令行脚本来处理排队的项目。

澄清:我不确定我的答案有什么不清楚,但这符合问题所强加的两个要求:

  1. 客户端无法中止脚本
  2. 您在1,000个客户之间共享一个流程

答案 2 :(得分:0)

您可以使用CLI执行多个PHP脚本

您可以尝试Easy Parallel Processing in PHP