我的服务器上有10秒钟,这对我正在尝试做的事情来说还不够。它也被webhost禁用了。
如果在执行一定时间之后,我执行了一个单独的PHP页面,那是否会计入同一时间或者是否在该页面重新开始?
还有另外一种方法吗?
答案 0 :(得分:4)
最大化执行时间的简单方法是设置时间限制,如下所示:
参数或者set_time_limit(0);
答案 1 :(得分:1)
可能的解决方法可能涉及设置cron作业以在较小的部分执行任务。我很欣赏这可能是非常不受欢迎的。
答案 2 :(得分:1)
你可以使用Javascript解决它;让您的页面在超时到期之前完成自己的执行,保存其状态,并将Javascript返回给用户,这会导致客户端请求新页面继续处理新的时间限制。
我不推荐这个。
答案 3 :(得分:0)
答案 4 :(得分:0)
没有办法绕过它 - 假设你的webhost正确配置了它的服务器。
时间量是指所有脚本,而不是单独的。
答案 5 :(得分:0)
如果在执行一定时间之后,我执行了一个单独的PHP页面,那是否会计入同一时间或者是否在该页面重新开始?
如果使用HTTP请求(不是包含)调用单独的PHP页面,例如file_get_contents('http://example.com/mypage.php');
,则不会同时计算。它在该页面上重新开始。
几年前我自己也使用过这个技巧......
除此之外,请尝试set_time_limit
并考虑安排“每分钟” cronjob 来执行任务。
答案 6 :(得分:0)
正如@Borealid所说,您可以使用javascript和ajax请求继续使用以前保存的状态执行脚本。为此,您可以使用serialize()在会话中保存您或您可能拥有的变量,并使用计数器或您认为有用的任何其他工具来跟踪进度。几年前我使用了类似的技术,实际上在完成每一步之后刷新了页面,所有这一切都是为了看到它的任何输出,好像我会让它完成,我可能需要几天时间才能输出。你也可以尝试一下。每个请求都会应用最长执行时间。