执行此代码:了shell_exec的nohup用的nohup.out
shell_exec('nohup command&');
或本
shell_exec('nohup command > /path/to/nohup.out 2>&1&');
但在这两种情况下没有的nohup.out。如何通过php运行nohup和nohup.out?
执行此代码:了shell_exec的nohup用的nohup.out
shell_exec('nohup command&');
或本
shell_exec('nohup command > /path/to/nohup.out 2>&1&');
但在这两种情况下没有的nohup.out。如何通过php运行nohup和nohup.out?
了shell_exec( 'nohup命令> /path/to/nohup.out 2> ');
此行将起作用。只要确保您有输出文件夹的写入权限即可。考虑你的输出文件夹是/ usr/nohup的输出
ls -l /usr/nohup-out
应该具有写入,读取和执行权限(RWX)。如果没有,请执行以下操作:
sudo chmod -R 777 /usr/nohup-out
现在,尝试执行php文件。它应该在/usr/nohup-out
文件夹中创建一个nohup文件。
示例脚本和结果:
1. date.php:
php date.php
3. nohup的:
<?php
shell_exec('nohup date > /usr/nohup-out/nohup.out 2>&1&');
?>
2.从终端执行PHP .out执行后的内容
周四4月23日11点30分28秒IST 2015年
>只要确保您有输出文件夹的写入权限 - 这是解决方案,谢谢。 –
第二个绝对应该已经创建了一个文件(不论是否'nohup'或'command'其实居然跑)。你确定它没有创建文件? (或者你的意思是这个文件是空的?) –
你运行这个的服务器是否允许'shell_exec()'运行? – Twisty