Php ini_set()始终返回false
在我当前的项目中,我有一个security.php,它支持一些函数和一些ini_set()语句Php ini_set()始终返回false,php,security,session,ini-set,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); in
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权限上,但我错了
编辑
返回字符串(0)”
还有别的想法吗
谢谢,Sebastian
ini\u set
总是返回一个字符串,因此这种严格的比较总是错误的:
ini_set('session.use_trans_sid', 0) === false
如果要在不更改值的情况下检查该值,请使用ini\u get
:
if (ini_get('session.use_trans_sid') == 0) ...
或
ini\u set
将设置值并返回上一个值。从if语句中删除逗号和0。你在那里赋值了,你不应该使用ini\u get
?@Sebastian,一个有趣的问题。您能检查ini_集合是否与其他ini值一起工作吗?。。。例如:var_dump(ini_集('display_errors','0')代码>?@Sebastjan。。这意味着ini_集()基本上可以工作。您是否知道ini_集
返回旧值?ini_集
在出现故障时根据文档()返回false。
if (ini_get('session.use_trans_sid') == 0) ...
if (!ini_get('session.use_trans_sid')) ...