我有一个PHP脚本,可以在我的服务器上创建大量文件,但不幸的是它运行时间过长。我的托管服务提供商的时间限制为90秒,脚本可能需要一个小时才能完成!主机提供程序阻止Set_Time_Limit,并且在睡眠功能中构建并不会真正暂停脚本。是否有另一种方法可以暂停,以便在90秒后不会退出?
谢谢! 桑德
答案 0 :(得分:4)
我可以看到你为什么对你的主人感到沮丧,但他们为了顾客的利益做了这样的事情。如果一个进程可以获得所有处理能力,那么它将减慢服务器上的所有其他站点的速度。
如果确实需要对每条记录进行那种处理,那么共享主机不是正确的解决方案;你需要一个专用的服务器。
然而,我的猜测是,真正问题的真正解决方案不是要增加处理能力,而是要修复程序的性能。你没有解释你正在做什么,这使得单个记录需要45秒才能处理,但是如果它花了这么长时间,最好是令人印象深刻的东西。更可能的是,这意味着还有很大的改进空间。
我建议做一些分析,以确定你的代码是什么让它运行得如此之慢。通过一些工作,我愿意打赌你可以将速度数据降低至少一个数量级,可能更多。
答案 1 :(得分:1)
“处理2条记录占用大约90秒”
让它一次处理一条记录,递增计数器,刷新页面,然后按下要处理的下一条记录: - )
答案 2 :(得分:1)
答案 3 :(得分:0)
如果不了解您的代码有点困难,但我认为您必须编写代码以便多次调用该脚本。 有可能运行一个cron工作吗?该脚本可以在x min内运行,并将nest y文件放入队列中。
为什么要首先制作所有这些文件?听起来不太好主意..