我目前使用nohup运行一个长PHP脚本并使用此命令将实时结果重定向到一个文件
nohup php long_file.php >logs 2>&1 &
所以我只是继续访问logs
文件以查看结果
现在我想使用另一个php文件执行上述命令完全相同的事情
我用php exec
和尝试了上面的命令,重定向输出似乎没有用,
我知道我可以使用php重新输出输出并使用任何文件写入函数存储它但事情是......输出太长,这就是为什么我让它在服务器的背景上运行
一个类似的问题: Shell_exec php with nohup,但没有回答
任何解决方案?
答案 0 :(得分:1)
答案 1 :(得分:0)
你试过passthru而不是exec吗?
答案 2 :(得分:0)
您正在使用>
每次运行脚本时都会截断文件。如果两个脚本同时将其输出重定向到同一个文件,那么最后一个脚本将截断第一个脚本的输出。
如果您确实想要正确附加到具有多个并发运行脚本的日志文件,请考虑使用>>
以避免截断日志文件。
然而,副作用是日志文件永远不会截断并继续扩展,因此如果文件非常大,您可以考虑将其包含在logrotate方案中。