ini_set()总是返回false

时间:2013-03-07 21:28:24

标签: php security session ini-set

在我当前的项目中,我有一个security.php,它包含一些函数和一些ini_set()语句。

ini_set('session.use_trans_sid', 0);
ini_set('session.use_only_cookies', 1);
ini_set('session.cookie_secure', 1);
ini_set('session.hash_function', 'whirlpool');
ini_set('session.cookie_httponly', 1);
ini_set('session.hash_bits_per_character', '5');

所以这是我的问题。如果我进行某种检查......

if(ini_set('session.use_trans_sid', 0) === false)
    echo "Foo!";

无论我试图设置哪一个,它总是返回false。 我认为问题在于security.php权限,但我错了。

修改

var_dump(ini_set('display_errors', '0')); 

返回字符串(0)""

还有其他想法吗?

谢谢,塞巴斯蒂安

1 个答案:

答案 0 :(得分:-2)

ini_set总是返回一个字符串,因此这个严格的比较将始终为false:

ini_set('session.use_trans_sid', 0) === false

如果要在不更改值的情况下检查值,请使用ini_get

if (ini_get('session.use_trans_sid') == 0) ...

if (!ini_get('session.use_trans_sid')) ...

ini_set将设置值将返回上一个值。