执行多个PHP脚本

时间:2012-08-21 02:25:49

标签: php

我对我正在处理的应用程序有一个想法,我需要知道这是否可行。

我有一个使用eBay API搜索项目的脚本。它将继续从eBay请求信息,直到返回符合条件的项目或运行240秒,在这种情况下,它会将错误发送回客户端,然后重新启动。发回的数据将通过websocket完成。

我需要同时运行此脚本的大约100个实例。

我将使用带有curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1);的cURL在一个PHP for循环中启动它们。

我不确定如何在服务器上执行PHP。在启动下一个脚本之前,它是否会等待脚本的一个实例完成执行?或者它会一次启动该脚本的所有100个实例吗?

2 个答案:

答案 0 :(得分:3)

这取决于..如果你从shell脚本启动它们,例如:

./run.sh

其中包含一次PHP执行,它将在执行时阻止,并且在PHP过程完成之前不会返回。

但是,如果您运行相同的脚本:

./run.sh &

它将立即返回...您可以通过以这种方式触发来运行许多php实例。

有很多方法可以解决这个问题......你将遇到的问题是从先前的进程获取数据 - 他们是写入失败还是数据库?他们如何让您知道该项目是否已找到?

答案 1 :(得分:2)

它将立即运行它们。 (只要它们不在shell脚本中并且同步运行,那就是。)