例如,FastCGI服务器对PHP脚本强制执行时间限制,PHP脚本无法使用set_time_limit()
在PHP中进行更改。我相信IIS也这样做。PHP:在服务器施加执行时间限制时对长时间运行的脚本进行编码
我为一个PHP应用程序编写了一个导入脚本,该脚本在mod_php下运行良好,但在FastCGI(mod_fcgid)下失败,因为该脚本在数秒后终止。我还不知道在这种情况下检测你的时间限制的方法,还没有决定我怎么去解决它。以小块进行重定向看起来像是一团糟,但是怎么样?
在编写长时间运行的任务(如导入或导出任务)时,您会使用哪些技术,其中个别PHP脚本可能会在某个秒数后由服务器终止?
请假设您正在创建一个可移植的脚本,因此您不一定知道PHP是否最终将在mod_php,FastCGI或IIS下运行,或者是否在服务器级别执行最大执行时间。这可能也会排除shell脚本等。
使用cron的+1。长时间运行的任务不应该使用web脚本运行 – 2010-05-14 03:24:40
我不明白如何推回php.ini中声明的时间限制,你可以更具体吗?谢谢 – Benoit 2010-05-14 07:00:22
@Benoit我指的是服务器(Apache,IIS等)或服务器模块(FastCGI/fcgid)施加的时间限制。从命令行运行时,您不会有这些特定的限制,并且唯一的限制将是PHP本身控制的限制。从命令行运行的缺点是它不便于移植 - 您必须为Windows服务器设置不同的设置,或者根据PHP可执行文件的路径进行更改等。但仍然是一种选择。 – thomasrutter 2010-05-14 07:03:49