首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP -在共享主机环境中长时间运行的进程

PHP -在共享主机环境中长时间运行的进程
EN

Stack Overflow用户
提问于 2018-08-16 08:44:27
回答 1查看 276关注 0票数 0

我有一个我无法解决的问题。我正在开发一个脚本,我有一个长时间运行的过程,简而言之,我从外部urls中抓取一些数据,然后将这些数据添加到数据库中,这大约需要30分钟。

我使用了@ini_set( "max_execution_time",1800 );来允许脚本运行足够长的时间。

如下所示:

代码语言:javascript
复制
function calculator_get_games() {
   @ini_set( "max_execution_time", 1800 );

   $api = Api::getInstance();

   $api::get_all_games();
}

这在我的本地主机上有效。问题是,当然,共享主机环境不起作用。脚本在一段时间后停止,我得到了一个503错误。

奇怪的是,我认为它与max_execution_time无关,因为脚本会运行几分钟才会刹车,而服务器上的max_execution_time设置为60秒。我在某个地方读到,我可以使用set_time_limit()函数来重置计数器或延长脚本的执行时间,但这没有帮助,一段时间后我得到了同样的错误。我还读到一些共享主机上的公司对PHP脚本可以运行的时间设置了限制,这与max_execution_time无关。

问题是这个脚本可能会被不同的用户使用,而我无法控制服务器。因此,如果可能的话,我希望找到一种方法,让脚本甚至可以在上面描述的共享主机上运行,这样用户就可以在几乎所有主机环境中使用脚本而不会出现问题。

所以,任何帮助都是非常感谢的。我可以使用的任何想法或替代方法。

谢谢。

编辑:

就像Jamie_D指出的,我说得不够清楚。我已经在后台使用WordPress Cron来启动脚本并每天更新它。但当我试图从浏览器执行脚本时,它会同时刹车。我正在开发一个插件,用户基本上可以在任何服务器上使用。在插件激活时,WP cron将使用file_get_contents开始抓取数据,并在30分钟后返回数据,这些数据将被馈送到数据库。希望这能澄清一点,很抱歉造成混乱,我在这些事情上还是一个相当初级的人。

EN

回答 1

Stack Overflow用户

发布于 2018-08-16 09:04:22

如果您需要执行一个需要这么长时间的脚本,我会考虑一个不依赖于调用脚本的后台进程。由于您还没有阐明您的应用程序意图,因此不可能为您指明正确的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51868204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档