繁体   English   中英

我可以包括另一个PHP脚本来继续for循环执行,以防止由于max_execution_time而导致服务器超时

[英]Can i include another php script to continue the for loop execution to prevent server timeout due max_execution_time

我有一个PHP脚本,可以通过函数调用将数据插入数据库表中,并且该函数处于for循环中。 我想进行120次以上的迭代,但是由于max_execution_time = 30而不幸,我无法在共享主机上更改或编辑php.ini文件。 由于脚本的执行停止在大约。 for循环的55-60次迭代。 我在想,如果我包含另一个PHP文件,如include(“ script2.php”);怎么办? 我可以在该脚本中从61继续执行for循环并在120处结束。 这样我就可以完成所有120次迭代。 如果我错了,请纠正我,我是php新手。

if (isset($_POST["roll"])&&isset($_POST["resultType"])){
    global $result;
    global $t;
    $result=new Parser($_POST["resultType"]);
    $n = $_POST["roll"];
    $t = substr($n, 0, strlen($n) - 3);
    $con=mysqli_connect("localhost","root","","rolltu");
    // Check connection
    if (mysqli_connect_errno())
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    // Create table
    $sql="CREATE TABLE $t(NAME CHAR(30),ROLL CHAR(30) NOT NULL,PRIMARY KEY(roll),Marks INT)";
    // Execute query
    if (mysqli_query($con,$sql))
    {
        echo "Table $t created successfully. <br>";
    }
    else
    {
        echo "Error creating table: " . mysqli_error($con);
        echo "<br>";
    }
    $arr = array($t,'000');
    $s = join("",$arr);
    $q ="$s";
    $c = 120;
    for($i = 0;$i <$c;$i++) {
    $q++;
    $result->requestResult($q);
    showResult();
    }
}

在脚本中使用以下内容:

set_time_limit($time);

http://php.net/manual/en/function.set-time-limit.php

最大执行时间,以秒为单位。 如果设置为零,则不施加时间限制。

从脚本中更改最大执行时间可能是:

ini_set("max_execution_time", $timeInSeconds);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM