PHP脚本是否使用受超时限制影响的"php"命令运行?

Dav*_*ave 9 php cron timeout crontab

PHP脚本是否使用受超时限制影响的"php"命令运行?我计划使用cron安排php脚本.

cai*_*nne 21

是的,但您可以通过将其添加到脚本顶部来设置无限超时:

set_time_limit(0);
Run Code Online (Sandbox Code Playgroud)


Hor*_*Kol 11

有些系统,比如Ubuntu,实际上已经开始使用单独的CLI和Apache配置/etc/php5.

ini文件中的相关命令是:

max_execution_time = 30      ; Maximum execution time of each script, in seconds
Run Code Online (Sandbox Code Playgroud)

但是,如果由于某种原因无法修改php.ini,可以使用有利于命令行的配置设置创建一个新的php.ini,并指向该文件,如下所示:

php -c /path/to/ini/php.ini -f script.php

或者,您可以使用Cailin的解决方案,并在文件顶部设置时间限制 - 但如果您在启用了PHP"安全模式"的服务器上运行,那么您将必须使用自己的ini文件.

  • downvote的原因是什么?有点难以改善的事情没有反馈...... (7认同)

Joh*_*ess 8

要看.如果您的php二进制文件是PHP CLI界面,则默认max_execution_time值为零(表示没有限制).

另一方面,如果它是旧式的CGI二进制文件,你将受到max_execution_time限制的影响,你需要调用它set_time_limit来摆脱它(假设你没有处于可怕的PHP安全模式).