PHP时间执行&;准备好后在浏览器中显示内容


PHP Time Execution & Show content in browser when it ready?

首先,脚本有时需要执行,30秒后停止。表示执行时间最长约为30秒(我知道我们可以在httpconf中更改此参数)但我不知道最长执行时间可能是1小时或更长时间。

所以我想知道php中是否没有时间限制执行?

第二个问题:如何在浏览器准备好后在浏览器中显示内容并继续执行,因为我总是等待脚本结束才能看到浏览器中显示的内容。

下次发布问题时,一定要更好地研究它。这两个问题在stackoverflow和互联网上都有很好的记录。

现在来回答你。。。让它运行到完成,而不管它需要多长时间:

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

set_time_limit(0);

生成内容后立即显示:

http://www.php.net/manual/en/function.flush.php

ob_flush();
flush();
  1. 可能运行那么长时间的脚本应该从控制台运行。浏览器超时也可能干扰通过浏览器运行它。

  2. 如果使用控制台脚本,则可以将输出路由到数据库中,并从那里进行查询。

  1. 您在php.ini中有此代码。我不确定你是否可以从php.ini以外的其他地方查看。

    ; Maximum execution time of each script, in seconds
    ; http://php.net/max-execution-time
    ; Note: This directive is hardcoded to 0 for the CLI SAPI
    max_execution_time = 30
    
  2. 在php中无法做到这一点。脚本一直运行到它完成执行(正常或错误)。