我编写了一个脚本来从我们的服务器收集某些配置数据,以比较不同的环境。为此,我使用php -i命令获取PHP设置。
我现在注意到' php -i'的输出没有显示与加载的php.ini文件中相同的值。
# /usr/local/zend/bin/php -c /usr/local/zend/etc/php.ini -i | grep -E -e 'Configuration File|max_exec'
Configuration File (php.ini) Path => /usr/local/zend/etc
Loaded Configuration File => /usr/local/zend/etc/php.ini
max_execution_time => 0 => 0
# cat /usr/local/zend/etc/php.ini | grep max_exec
max_execution_time=1200
请注意,这只是php CLI,不涉及服务器。我验证了以下内容:
答案 0 :(得分:0)
The docs声明
从命令行运行PHP时,默认设置为0。
我不认为此设置在CLI中有任何意义,并且无法从php.ini中读取。
为了澄清:您仍然可以ini_set
它并且CLI将相应地运行,它似乎无法从php.ini
文件中读取。
答案 1 :(得分:0)
您无法为CLI设置max_execution_time
。请参阅" 重写 php.ini 指令"部分中的the manual:
shell环境中的PHP往往用于比典型的基于Web的脚本更多样化的目的,并且由于这些脚本可以长时间运行,因此最大执行时间设置为无限制。
换句话说,无论您在max_execution_time
中为php.ini
设置什么,CLI都会将其覆盖为无限制。
如果要限制脚本的执行时间,可以在脚本本身中使用set_time_limit()
函数。