我认为有很多类似的帖子,但我在搜索后还没有找到解决方案.
基本上,我正在尝试在后台运行两个脚本.当我在命令行中运行它们时,我在调用我的第一个脚本后看到:
/usr/bin/nohup php script.php > nohupoutput.log & echo $!
我试过了…… script.php> / dev / null&结果相同.我明白了:
/usr/bin/nohup: ignoring input and redirecting stderr to stdout
我忽略并运行第二个.我注意到它似乎挂在那里,按Enter键让我回到机器:〜文件夹>
/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 &');
解决方法:
尝试:
$output = shell_exec('/usr/bin/nohup php script.php >/dev/null 2>&1 &');
要么:
exec('/usr/bin/nohup php script.php >/dev/null 2>&1 &');