php5.3 不支持 session_register() 此函数已启用的解决方法

 更新时间:2013年11月12日 21:25:01   作者:  
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就不让用了,降回去?不爽。
搜了一把,有个解决方法是写一个函数

复制代码 代码如下:

<?php
// Fix for removed Session functions
function fix_session_register(){
function session_register(){
$args = func_get_args();
foreach ($args as $key){
$_SESSION[$key]=$GLOBALS[$key];
}
}
function session_is_registered($key){
return isset($_SESSION[$key]);
}
function session_unregister($key){
unset($_SESSION[$key]);
}
}
if (!function_exists('session_register')) fix_session_register();
?>


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

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()

复制代码 代码如下:

<?php
// Use of session_register() is deprecated 不赞成用session_register()
$barney = "A big purple dinosaur.";
session_register("barney");

// Use of $_SESSION is preferred, as of PHP 4.1.0 首选 $_SESSION
$_SESSION["zim"] = "An invader from another planet.";

// The old way was to use $HTTP_SESSION_VARS
$HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
?>

并且有如下警告及提示:
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().

相关文章

  • 原生php实现excel文件读写的方法分析

    原生php实现excel文件读写的方法分析

    这篇文章主要介绍了原生php实现excel文件读写的方法,结合实例形式分析了采用原生php针对Excel进行读写操作的相关实现方法与操作注意事项,需要的朋友可以参考下
    2018-04-04
  • php 删除记录实现代码

    php 删除记录实现代码

    这里让大家知道php下删除记录的实现方法
    2009-03-03
  • PHP基于文件存储实现缓存的方法

    PHP基于文件存储实现缓存的方法

    这篇文章主要介绍了PHP基于文件存储实现缓存的方法,实例分析了smarty模板中php通过文件存储来实现缓存的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 总结PHP代码规范、流程规范、git规范

    总结PHP代码规范、流程规范、git规范

    这篇内容我们整理总结了关于PHP代码规范、流程规范、git规范的详细内容,对此有兴趣的朋友可以学习下。
    2018-06-06
  • Thinkphp实现自动验证和自动完成

    Thinkphp实现自动验证和自动完成

    这篇文章主要介绍了Thinkphp实现自动验证和自动完成的相关资料,需要的朋友可以参考下
    2015-12-12
  • php如何调用webservice应用介绍

    php如何调用webservice应用介绍

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术,接下来将详细介绍php如何调用webservice,需要的朋友可以了解下
    2012-11-11
  • 保证PHP对接API安全性的常见方法

    保证PHP对接API安全性的常见方法

    在对接API时,保证其安全性是非常重要的,本文给大家介绍了一些保证PHP对接API安全性的常见措施,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2023-11-11
  • PHP中unset,array_splice删除数组中元素的区别

    PHP中unset,array_splice删除数组中元素的区别

    php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧
    2014-07-07
  • php allow_url_include的应用和解释

    php allow_url_include的应用和解释

    PHP常常因为它可能允许URLS被导入和执行语句被人们指责。事实上,这件事情并不是很让人感到惊奇,因为这是导致称为Remote URL Include vulnerabilities的php应用程序漏洞的最重要的原因之一。
    2010-04-04
  • php插入中文到sqlserver 2008里出现乱码的解决办法分享

    php插入中文到sqlserver 2008里出现乱码的解决办法分享

    今天使用php操作数据库时发现插入SQL Server 2008数据库里的中文字段出现乱码,通过下面的方法解决了,需要的朋友可以参考下
    2012-07-07

最新评论