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 相关文章推荐
使用php4加速网络传输
Oct 09 PHP
phpmyadmin 访问被拒绝的真实原因
Jun 15 PHP
php实现的仿阿里巴巴实现同类产品翻页
Dec 11 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
Mar 02 PHP
PHP GD库相关图像生成和处理函数小结
Sep 30 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
Dec 21 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
Oct 14 PHP
ThinkPHP5框架中使用JWT的方法示例
Jun 03 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
浅析get与post的一些特殊情况
2014/07/28 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
jquery获取checkbox的值并post提交
2015/01/14 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
javascript定时器完整实例
2015/02/10 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
JavaScript控制table某列不显示的方法
2015/03/16 Javascript
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
canvas 绘制圆形时钟
2017/02/22 Javascript
javaScript封装的各种写法
2017/08/14 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
微信小程序云开发如何使用云函数生成二维码
2019/05/18 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
Vue js with语句原理及用法解析
2020/09/03 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[08:38]DOTA2-DPC中国联赛 正赛 VG vs Elephant 选手采访
2021/03/11 DOTA
用python实现的去除win下文本文件头部BOM的代码
2013/02/10 Python
Python实现的数据结构与算法之基本搜索详解
2015/04/22 Python
Python下Fabric的简单部署方法
2015/07/14 Python
Python多进程同步简单实现代码
2016/04/27 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
python交互式图形编程实例(三)
2017/11/17 Python
python绘制简单彩虹图
2018/11/19 Python
python发送多人邮件没有展示收件人问题的解决方法
2019/06/21 Python
如何解决django-celery启动后迅速关闭
2019/10/16 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
日本PLST在线商店:日本时尚杂志刊载的人气服装
2016/12/10 全球购物
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
2012/02/21 面试题
机械专业毕业生自荐信
2013/11/02 职场文书
两行代码解决Jupyter Notebook中文不能显示的问题
2021/04/24 Python