0

我有一个问题会停止我的(缓慢的)进程。我使用带有按钮的 php 页面开始我的后台慢速进程,如下所示:

<form id="trial" method="post" action=""><input name="trial" value="Start!" type="submit">
<?php
   set_time_limit(0);
   if (isset($_POST['trial'])) {
      system("/srv/www/cgi-bin/myscript.sh");
   }
?>

在进程停止 1.5 天后的某个时间点,我修改了 php.ini 和 apache 配置文件,在 timeout 指令中插入了一个非常高的数字,但它似乎不起作用,或者有一些其他进程正在停止 myscript .sh ..你有什么建议吗?谢谢!

4

2 回答 2

0

连续执行脚本会出现一些问题,因此在系统中每 30 分钟设置一次 Cron。

set_time_limit(30);
system("/srv/www/cgi-bin/myscript.sh");

Cron 设置:

30 * * * * php /path/to/your/php/file.php
于 2012-07-14T14:34:29.717 回答
0

我假设您可以根据您的帖子通过 SSH 访问服务器。

如果真正的目标是让您的脚本连续运行,为什么不登录并

nohup myscript.sh

只要您的脚本正常运行,它就会在您关闭终端后继续运行。

检查日志

To determine why your script is failing, you'll definitely want to check /var/log/kern.log and /var/log/syslog. Look for any entries containing your script or any of it's children. Your script may be getting killed off by the kernel ( exceeding limits ) or erroring out at runtime.

于 2012-07-14T14:47:07.197 回答