【发布时间】:2011-08-27 17:00:50
【问题描述】:
PHP 脚本是否使用“php”命令运行受超时限制影响?我打算使用 cron 来安排 php 脚本。
【问题讨论】:
PHP 脚本是否使用“php”命令运行受超时限制影响?我打算使用 cron 来安排 php 脚本。
【问题讨论】:
是的,但您可以通过将其添加到脚本顶部来设置无限超时:
set_time_limit(0);
【讨论】:
某些系统,例如 Ubuntu,实际上已经在 /etc/php5 中使用单独的 CLI 和 Apache 配置启动。
ini文件中的相关命令为:
max_execution_time = 30 ; Maximum execution time of each script, in seconds
但是,如果您由于某种原因无法修改 php.ini,您可以创建一个新的 php.ini,其配置设置有利于命令行,并指向该文件,如下所示:
php -c /path/to/ini/php.ini -f script.php
或者,您可以使用 Cailin 的解决方案,并在文件顶部设置时间限制 - 但如果您在启用了 PHP“安全模式”的服务器上运行,那么您将不得不使用自己的 ini 文件。
【讨论】:
视情况而定。如果您的 php 二进制文件是 PHP CLI 接口,则默认 max_execution_time 为零(表示没有限制)。
另一方面,如果它是旧式 CGI 二进制文件,您将受到 max_execution_time 限制的影响,您需要调用 set_time_limit 来摆脱它(假设您不在可怕的 PHP 安全模式)。
【讨论】: