我正在编辑一个现有网页,该网页采用excel电子表格并将其存储在数据库中。
当电子表格很大时,页面会超时,因为在那段时间网页和服务器之间没有联系。
有没有一种简单的方法来“ping”网页而不影响页面内容?
答案 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>