终极解决Warning: Unknown: Your script possibly relies on a session side-effec

时间:2010-02-26 13:31 作者:php问答 点击:
终极解决Warning: Unknown: Your script possibly relies on a session side-effect

  

终极解决Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0

我来解释一下这句话:

警告:未知:您的脚本可能依赖于一个会话的副作用直到PHP 4.2.3中存在。请注意,本次会议扩展不考虑作为数据源的全局变量,除非启用了register_globals。您可以禁用此功能,这通过设置session.bug_compat_42或session.bug_compat_warn分别以关闭在线0未知,警告

明白是原因了!如果解决呢?

第一出现的原因是

如案例:

 

  1. <?       
  2.    session_start();       
  3.    $a=5;       
  4.    session_register('www.phpzy.com');       
  5.  ?>    

 

这种写法改成

 

  1. <?     
  2.   session_start();     
  3.   $a   =   5;     
  4.   $_SESSION['www.phpzy.com']   =   $a;     
  5.   ?>   

就可以解决
来源于绿色php资源
http://www.phpzy.com 转载保留

第二种

 

  1. <?  
  2. session_start();  
  3. $_SESSION['a'] = NULL;  
  4. echo $a = "a";  
  5. ?> 

session值是空!

又变量名又一样,这样就警告了!

解决方法一

屏蔽警告

在首行加上
ini_set("session.bug_compat_42","Off;
ini_set("session.bug_compat_warn","Off;

或者在php.ini里面直接修改
session.bug_compat_42=0  
session.bug_compat_warn=0

或者
session.bug_compat_42 = Off

方法二

session名字和变量不要一样!或者session一定有值!不能为空

 

 


标签(Tag):Warning: Unknown session side-effect session.bug_compat_42 session.bug_compat_warn
------分隔线----------------------------
推荐内容
热点内容