当使用ini_set()时,新值的正确值类型是什么?
答
参考:http://php.net/manual/en/function.ini-set.php
string ini_set (string $varname , string $newvalue)
所以,你必须使用一个字符串NEWVALUE
如:
<?php
echo ini_get('display_errors');
if (!ini_get('display_errors')) {
ini_set('display_errors', '1');
}
echo ini_get('display_errors');
?>
答
它必须与您在php.ini文件中设置的相同。从技术文档:
string ini_set (string $varname , string $newvalue)
因此,这意味着你可以使用任何字符串$newvalue
,这将是最适当方式。但通常我将它设置为(int) 1
答
在php.net的语法如下像这样:
string ini_set(string $ varname,string $ newvalue)
所有参数应该是string
。在php.ini文件中显示为On
或Off
的所有布尔值。下面的解决方案应该是最合适的解决方案:
ini_set('display_errors', 'On');
ini_set('display_errors', 'Off');
上,您可以找到以下部分的配置文件的文档:
布尔值可以设置为:
为true, ,是 或假,关,没有,没有
http://php.net/manual/en/configuration.file.php
On ini_get
返回值是一个字符串。该文档说:
off的布尔ini值将返回为空字符串或“0”,而on的布尔值ini值将返回为“1”。该函数还可以返回INI值的文字字符串。
ini_get
的返回值和ini_set
的值必须是字符串!
因为改变前的ini_get()的默认值是'string(1)',所以我认为你的回答比较好。即使http://php.net/manual/en/errorfunc.configuration.php的默认值为'0'或'1'! – evilReiko