【发布时间】:2015-08-17 22:45:15
【问题描述】:
我的主机有一些限制,我的脚本运行时间不能超过 2 或 3 秒。但随着数据库变大,完成所需的时间肯定会增加。
所以我考虑让脚本停止它正在做的事情并在 2 秒后调用自己,例如。
首先我尝试使用cURL,然后我尝试使用wget。但是等待响应和超时(例如,使用 cURL,我只需要 ping 脚本,而不是等待响应)或服务器权限(我们用来运行 wget 这样的函数)总是存在问题因为exec 似乎在我的服务器上被禁用,或者类似的东西)。
您认为让 PHP 脚本 ping/call 自己的最佳方法是什么?
【问题讨论】:
-
这没有任何意义。除此之外,您为什么要花钱购买不能满足您需求的托管环境?您可以花 5 美元/月的价格在数字海洋或类似平台上获得 VPS,然后为所欲为。
-
听起来您已经超越了普通的虚拟主机,并且您已经准备好使用虚拟服务器,您不会遇到这些限制。虚拟服务器(也称为“云服务器”)每月从 Rackspace、AWS、Digital Ocean 等提供商处开始大约 10-20 美元。
-
如果脚本自己运行,这将使原始脚本运行超过两秒钟,这将被您的主机杀死。移动主机或查看 cron 作业,看看它们是否支持运行时间超过 2 秒的作业。
-
在 PHP、close-header、ignore_user_abort 之类的东西中肯定可以实现即发即弃。这不是你想要做的。 3 秒短得不合理,完全随意。
-
@VictorFerreira 这不是您给客户的答案,而是程序员彼此之间会给出的答案。如果您的客户不想为合理的服务器付费,那么他的数据库会受到脚本所用时间的限制。建议升级是完全正常的商业惯例。我们不是在谈论汽车和飞机,更像是踏板车和摩托车。如果您想长途旅行,您需要一辆摩托车。