php命令似乎没有检查php.ini中的值是否有意义。这是一个例子:
$ echo 'memory_limit = foobar' > /tmp/php.ini
$ php -c /tmp -r 'printf("%s\n", ini_get("memory_limit"));'
foobar
当php.ini包含像这样的垃圾时,我怎么能要求php大声失败?
答案 0 :(得分:1)
你可能不能。
在memory_limit的情况下,它被预定义为
PHP_INI_ENTRY("memory_limit", "128M", PHP_INI_ALL, OnChangeMemoryLimit)
zend_atol
G
或M
,例如出于memory_limit
的目的,任何0值都将被丢弃。因为,你知道,这对于最大化内存使用量是没有意义的。
此处PHP还假设所有可能的php.ini
中至少有一个包含某种有效或合理的默认值。这就是为什么(我会说)为什么没有大声警告。它并不常见。再一次 - 我的观点 - 在某种程度上是一种有效的设计选择:不要过度优化边缘案例。