PHP脚本是否使用受超时限制影响的“php”命令运行?我计划使用cron安排php脚本。
答案 0 :(得分:21)
是的,但您可以通过将其添加到脚本顶部来设置无限超时:
set_time_limit(0);
答案 1 :(得分:11)
某些系统(例如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文件。
答案 2 :(得分:8)
取决于。如果您的php二进制文件是PHP CLI界面,则默认max_execution_time
为零(表示没有限制)。
另一方面,如果它是旧式CGI二进制文件,您将受到max_execution_time
限制的影响,并且您需要调用set_time_limit
来摆脱它(假设您'不是在可怕的PHP安全模式下。)