PHP“ping”防止网页超时

时间:2012-09-19 13:52:01

标签: php

我正在编辑一个现有网页,该网页采用excel电子表格并将其存储在数据库中。

当电子表格很大时,页面会超时,因为在那段时间网页和服务器之间没有联系。

有没有一种简单的方法来“ping”网页而不影响页面内容?

2 个答案:

答案 0 :(得分:2)

如果您的PHP页面刚刚超时,因为它超过了最长执行时间,您可以尝试使用页面顶部的ini_set设置该脚本的最长执行时间:

ini_set("max_execution_time", "600");  // Now times out after 5 minutes

您可以尝试根据自己的需要进行调整。

如果脚本需要很长时间非常,您可能别无选择,只能设置要处理的这些文件的队列。然后,您的主要PHP脚本不会执行任何操作,只会将文件插入此队列,然后由cron作业处理。然后你可以稍后轮询结果。

答案 1 :(得分:0)

这是可能的,但取决于您的实施。例如,如果你逐行处理excel文件,那么,可以这样做:

<?php

while($notDone) {
    $row = proccessExcelRow($excelFile);
            // echo javascript so your browser won't fill the page with empty markup
    echo '<script type="text/javascript"></script>'; 
            @flush(); @ob_flush();
}

但是如果脚本花费的时间比maximum_execution_limit长,那么它就没用了。除了将它转发到后台的专门流程之外别无他法[/ p>