-3

我有一个 PHP 脚本,它在我的服务器上创建了大量文件,但不幸的是它运行时间过长。我的托管服务提供商有 90 秒的时间限制,脚本可能需要一个小时才能完成!Set_Time_Limit 被托管服务提供商阻止,并且在睡眠功能中构建也不会真正暂停脚本。有没有另一种方法来建立暂停,这样它就不会在我的 90 秒后退出?

谢谢!桑德

4

4 回答 4

4

我明白您为什么对您的房东感到沮丧,但他们这样做是为了客户的利益。如果一个进程可以占用所有处理能力,它将减慢服务器上的所有其他站点。

如果您确实需要对每条记录进行这种处理,那么共享主机不是正确的解决方案;你需要一个专用的服务器。

但是,我的猜测是,真正解决您的实际问题的方法不是增加处理能力,而是修复程序的性能。你还没有解释你在做什么让一个记录需要 45 秒来处理,但如果需要那么长时间,它最好是令人印象深刻的东西。更有可能的是,这只是意味着还有很大的改进空间。

我建议做一些分析来确定代码运行如此缓慢的原因。通过一些工作,我愿意打赌您可以将速度数据降低至少一个数量级,甚至可能更多。

于 2013-01-04T12:12:30.110 回答
1

“处理 2 条记录大约需要 90 秒”

让它一次处理一条记录,增加一个计数器,刷新页面,然后点击下一条记录来处理:-)

于 2013-01-04T12:00:37.270 回答
1

Unfortunately no. You would have to break it into smaller pieces or run a background job using exec or system

or

There's another approach here

于 2013-01-04T12:08:38.433 回答
0

如果不了解更多关于您的代码,这有点困难,但我认为您必须编写代码以便多次调用脚本。是否有可能运行 cron 作业?该脚本可以每 x 分钟运行一次,并将嵌套的 y 个文件放入队列中。

你为什么要首先制作所有这些文件?听起来不是个好主意。。

于 2013-01-04T11:57:09.983 回答