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


Posted in PHP onNovember 12, 2013

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 相关文章推荐
PHP分页显示制作详细讲解
Dec 05 PHP
php 验证码实例代码
Jun 01 PHP
php排序算法(冒泡排序,快速排序)
Oct 09 PHP
PHP设置一边执行一边输出结果的代码
Sep 30 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
PHP实现通用alert函数的方法
Mar 11 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
Jan 25 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
Laravel中Kafka的使用详解
Mar 24 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
Nov 12 #PHP
PHP使用正则表达式清除超链接文本
Nov 12 #PHP
PHP统计二维数组元素个数的方法
Nov 12 #PHP
多个PHP中文字符串截取函数
Nov 12 #PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 #PHP
CodeIgniter使用phpcms模板引擎
Nov 12 #PHP
php用正则表达式匹配URL的简单方法
Nov 12 #PHP
You might like
mysql+php分页类(已测)
2008/03/31 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
PHP CURL获取返回值的方法
2014/05/04 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
2014/06/13 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
php修改数组键名的方法示例
2017/04/15 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
node.js中的fs.fsync方法使用说明
2014/12/15 Javascript
javascript元素动态创建实现方法
2015/05/13 Javascript
jQuery对象与DOM对象转换方法详解
2016/05/10 Javascript
通过JS和PHP两种方法判断用户请求时使用的浏览器类型
2016/09/01 Javascript
js print打印网页指定区域内容的简单实例
2016/11/01 Javascript
JavaScript实现随机点名器
2020/03/25 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
初步解析Python中的yield函数的用法
2015/04/03 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python数据类型学习笔记
2016/01/13 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python实现转圈打印矩阵
2019/03/02 Python
Python3+selenium实现cookie免密登录的示例代码
2020/03/18 Python
基于python tkinter的点名小程序功能的实例代码
2020/08/22 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
python中append函数用法讲解
2020/12/11 Python
印度和世界各地的精美产品:Ikka Dukka
2018/02/12 全球购物
质检的岗位职责
2013/11/17 职场文书
营销与策划实训报告
2014/11/05 职场文书
2015年少先队活动总结
2015/03/25 职场文书
2015年精神文明建设工作总结
2015/04/21 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
《称赞》教学反思
2016/02/17 职场文书
python 中yaml文件用法大全
2021/07/04 Python