在服务器端完全运行PHP脚本

时间:2012-06-26 02:53:06

标签: php linux amazon-ec2 cron

我遇到的问题是putty经常断开连接。因此,当我从终端运行PHP脚本时,它总是被中断。该脚本应该运行几个小时,所以我没有运气。

如何从服务器端完全运行此操作?我正在读关于cron的工作,但我现在很难理解。我需要什么替代cron?

我有几个脚本PHP文件需要一个接一个地运行,或者一次运行两个。有什么想法吗?

5 个答案:

答案 0 :(得分:9)

你不需要让它在cron作业中运行 - 你可以在屏幕内运行php脚本。

只需输入;

screen php /path/to/myphpscript.php

即使断开与PuTTY的连接,屏幕仍将继续运行。如果您需要检查它,可以使用;

screen -r

重新加入此流程,并查看任何输出。

答案 1 :(得分:3)

当会话断开连接时,您需要阻止进程终止。

这样的事情会起作用:

nohup php myscript.php

答案 2 :(得分:1)

您可以创建一个cron作业,以根据时间任务列表定期启动php脚本。 More info。您也可以从控制台在后台启动任务。即php-cgi script.php&这将使脚本成为后台任务

答案 3 :(得分:1)

看看GNU Screen;它允许您稍后分离和重新连接会话,这对于长时间运行的脚本是完美的。如果你想让它以一种反复的方式发生,那么Cron是一个不错的选择。可以使用at之类的方式安排一次性批处理作业。对于更强烈的计算需求,您可能希望研究一个更完善的作业调度系统,如TORQUE

答案 4 :(得分:0)

您可以在后台运行程序

php ./yourscript.php &