VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php5.3 不支持 session_register() 此函数已启用的解决方法

php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了,Deprecated: Function session_register() is deprecated

php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了。

报错内容是

Deprecated: Function session_register() is deprecated

查了一下是5.3这个session_register就不让用了,降回去?不爽。

搜了一把,有个解决方法是写一个函数:

  1. <?php  
  2. // Fix for removed Session functions  
  3. function fix_session_register(){  
  4. function session_register(){  
  5. $args = func_get_args();  
  6. foreach ($args as $key){  
  7. $_SESSION[$key]=$GLOBALS[$key];  
  8. }  
  9. //phpfensi.com 
  10. function session_is_registered($key){  
  11. return isset($_SESSION[$key]);  
  12. }  
  13. function session_unregister($key){  
  14. unset($_SESSION[$key]);  
  15. }  
  16. }  
  17. if (!function_exists('session_register')) fix_session_register();  
  18. ?> 

查了一下出现这个问题的地方不多,找到了另外一个方法,直接把:

session_register( “abc” ) ;

改成:

$_SESSION['abc'] = null;

即可。

session在php5.3中的变化

在php5.3中运行书中代码会有如下提示:

Function session_is_registered() is deprecated in

Function session_register() is deprecated in

意思是说这两个函数是不赞成的,弃用的。

下面是php官方手册上的代码,注释部分已经说明了不赞成用session_register(),代码如下:

  1. <?php 
  2. // Use of session_register() is deprecated 不赞成用session_register() 
  3. $barney = "A big purple dinosaur."
  4. session_register("barney"); 
  5.  
  6. // Use of $_SESSION is preferred, as of PHP 4.1.0 首选 $_SESSION 
  7. $_SESSION["zim"] = "An invader from another planet."
  8.  
  9. // The old way was to use $HTTP_SESSION_VARS 
  10. $HTTP_SESSION_VARS["spongebob"] = "He's got square pants."
  11. ?> 

并且有如下警告及提示:

Warning

This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.

警告:这个函数在php5.3中已不推荐使用,在php5.4中已被移除。

Note:

If $_SESSION (or $HTTP_SESSION_VARS for PHP 4.0.6 or less) is used, use isset() to check a variable is registered in $_SESSION.

提示:如果 使用了$_SESSION,就用isset()函数来检查。

Caution

If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().

 

出处:http://www.phpfensi.com/php/20200628/13062.html


相关教程