2

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

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

有没有一种简单的方法可以在不影响页面内容的情况下“ping”网页?

4

2 回答 2

2

如果您的 PHP 页面只是因为超过了最大执行时间而超时,您可以尝试通过ini_set在页面顶部使用来设置该脚本的最大执行时间:

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

您可以尝试调整它以满足您的需求。

如果脚本需要长时间才能完成,您可能别无选择,只能设置这些文件的队列以进行处理。然后,您的主 PHP 脚本什么都不做,只是将文件插入此队列,然后由 cron 作业处理。然后,您可以稍后再轮询结果。

于 2012-09-19T13:59:08.887 回答
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 它是没有用的。除了将其转发到后台的专门进程外,别无他法

于 2012-09-19T13:57:45.510 回答