我认为有很多类似的帖子,但在搜索周围后,我还没有找到解决方案。
基本上,我正在尝试在后台运行两个脚本。 当我在命令行中运行它们时,在调用我的第一个脚本后,我会看到:
/usr/bin/nohup php script.php > nohupoutput.log & echo $!
我尝试了
...script.php > /dev/null &
,但结果相同。我得到了:/usr/bin/nohup: ignoring input and redirecting stderr to stdout
我忽略了第一个命令并运行了第二个。我注意到它似乎卡在那里,按下 Enter 键将我带回到 machine:~folder>
。
/usr/bin/nohup php script2.php > nohupoutput.log & echo $!
两个脚本都可以正常运行。我尝试将其转换为shell_exec命令,但似乎没有任何作用。我怀疑是因为 忽略输入
部分导致了问题,但我不确定。无论如何,以下代码无法正常工作。它只会在浏览器中卡住:
$output = shell_exec('/usr/bin/nohup php script.php > /dev/null &');
$output = shell_exec('/usr/bin/nohup php script2.php > /dev/null &');