PHP脚本执行在60秒后停止

PHP脚本执行在60秒后停止,php,mysql,passthru,Php,Mysql,Passthru,此PHP脚本在60秒后终止 我已经确定: ini_set('max_execution_time', 0); ini_set('memory_limit','1024M'); 希望使用passthru或exec执行php,并使用递归函数检查数据库中的状态: function checkstatus() { $check_status = mysql_fetch_array(mysql_query("select * from table where status='1'",$con)

此PHP脚本在60秒后终止

我已经确定:

ini_set('max_execution_time', 0);

ini_set('memory_limit','1024M');
希望使用
passthru
或exec执行php,并使用递归函数检查数据库中的状态:

function checkstatus() {
    $check_status = mysql_fetch_array(mysql_query("select * from table where status='1'",$con));

    $status=$check_status["status"];

    if ($status !== "1") {
            passthru("/usr/bin/php  abc.php");
            die();

        } else {
            sleep(30);  
            checkstatus();  
        }
}

请尝试以下解决方案

set_time_limit(0); 
ignore_user_abort(true);
ini_set('max_execution_time', 0);
我希望它能帮助你。

停止使用MYSQL函数。它们已被弃用,并已从现代PHP版本中删除!!

Status
是一个MySQL关键字,因此理想情况下应该封装在backticks中。


您只检查
的状态,其中status='1'
。因此,
if($status!=“1”){
将始终
false

因此,每次运行此脚本时,您将始终睡眠30秒。这是对服务器资源的无限浪费


问题答复: 要停止达到时间限制,请在脚本顶部添加:

set_time_limit(0); // set no limit.
然而
从脚本的形状来看,它看起来很糟糕;您需要让PHP挂起
sleep
语句。因此,您应该考虑使用每30秒执行一次的脚本。

问题是…?我使用递归函数检查数据库中的状态,脚本在60秒后终止secs@sagarparad这个函数的代码在哪里打开?请尝试在脚本顶部设置时间限制(0)。
set_time_limit(0); // set no limit.