在CLI中同时执行多个php脚本

4

我有55个php文件,希望可以在命令行同时运行它们。目前,我正使用以下代码在多个CLI窗口中运行它们:

php Script1.php

我希望能够调用一个单一的php文件,同时执行所有55个php文件。我一直在阅读如何使命令行不等待输出的方法,但似乎无法使其工作。
这个线程: 如何从CLI运行多个PHP脚本 建议在命令的末尾加上 & 以在后台运行该命令,但使用xampp CLI时似乎没有任何作用。
非常感谢任何想法。
布赖恩

1
你使用的操作系统是什么?当你提到“xampp CLI”时,这基本上是在Windows中运行的DOS提示符吗?此外,你能提供一些示例输出吗?基本上复制并粘贴命令行,显示提示符以及你输入的内容(以及响应内容)。 - GargantuChet
很可能可以运行 php Script*.php - zneak
& 命令是 Unix/Linux 特有的。在 Windows 上,您可以尝试使用 start 命令。 - Salman A
@zneak:不会。PHP CLI 解释器只会在命令行传递的第一个 PHP 文件上运行。虽然有些程序(例如 vim)会处理每个参数,但是它们是串行而不是并行进行的。xargs 也是如此。 - symcbean
@symcbean,我错过了同时的部分。 - zneak
3个回答

3

根据您提到XAMPP,我假设您使用的是Windows操作系统。我认为您需要使用start命令。您可能需要执行start php Script1.php命令。如需更多信息,请执行以下操作:

start /?|more

2

Linux

除了添加&之外,您还需要将输出重定向到某个地方-否则您的php进程会等待其他进程完成,因为可能会有更多的输出:

exec('/path/to/program & > /dev/null 2>&1')

谢谢,这会在我去生产服务器时有所帮助,但我不认为它适用于xampp(Windows)。 - bpmccain
如果我们在命令的末尾放置&符号,会产生不同的效果吗? - Dinesh
尝试一下,然后告诉我们。 - cweiske

1

看了一下,但是下面的解决方案更简单,也满足我的需求。谢谢。 - bpmccain

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