Shell_exec php与nohup

Rio*_*Rio 9 php shellexecute exec shell-exec nohup

我认为有很多类似的帖子,但我在搜索后还没有找到解决方案.

基本上,我正在尝试在后台运行两个脚本.当我在命令行中运行它们时,我在调用我的第一个脚本后看到:

/usr/bin/nohup php script.php > nohupoutput.log & echo $!
Run Code Online (Sandbox Code Playgroud)

我尝试 ...script.php > /dev/null &过同样的结果.我明白了:

/usr/bin/nohup: ignoring input and redirecting stderr to stdout
Run Code Online (Sandbox Code Playgroud)

我忽略并运行第二个.我注意到它似乎挂在那里,并按下Enter让我回到machine:~folder>

/usr/bin/nohup php script2.php > nohupoutput.log & echo $!
Run Code Online (Sandbox Code Playgroud)

两个脚本都有效.我试图将其转换为shell_exec命令,似乎没有任何工作.我怀疑这个ignoring input位造成了困难,但我不确定.无论如何,以下不起作用.它只是挂在浏览器中:

$output = shell_exec('/usr/bin/nohup php script.php > /dev/null &');
$output = shell_exec('/usr/bin/nohup php script2.php > /dev/null &');
Run Code Online (Sandbox Code Playgroud)

小智 9

尝试:

$output = shell_exec('/usr/bin/nohup php script.php >/dev/null 2>&1 &');
Run Code Online (Sandbox Code Playgroud)

要么:

exec('/usr/bin/nohup php script.php >/dev/null 2>&1 &');
Run Code Online (Sandbox Code Playgroud)