执行多个PHP脚本


executing multiple PHP scripts

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

我有一个使用易趣API搜索物品的脚本。它将不断向易趣请求信息,直到返回符合条件的物品或运行240秒,在这种情况下,它会向客户端发送虚假信息,然后重新启动自己。发送回来的数据将通过一个websocket来完成。

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

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

我不确定PHP是如何在服务器上执行的。它会等待脚本的一个实例完成执行后再启动下一个实例吗?或者它会同时启动这个脚本的所有100个实例吗?

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

./run.sh

它包含一次PHP执行,它将在执行时阻塞,直到PHP进程完成才返回。

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

./run.sh &

它将立即返回。。。通过这种方式启动,可以运行许多php实例。

有无数种方法可以做到这一点。。。您将遇到的问题是从以前的进程中获取数据——它们是向fail还是db写入?他们如何让你知道物品已经找到或没有找到?

它将同时运行所有这些程序。(只要它们不在shell脚本中并且同步运行即可。)