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 相关文章推荐
一键删除顽固的空文件夹 软件下载
Jan 26 PHP
php 数学运算验证码实现代码
Oct 11 PHP
PHP strtotime函数详解
Dec 18 PHP
10个实用的PHP代码片段
Sep 02 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
关于初学PHP时的知识积累总结
Jun 07 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
轻松实现php文件上传功能
Feb 17 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
PHP获取真实IP及IP模拟方法解析
Nov 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
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
基于PHP代码实现中奖概率算法可用于刮刮卡、大转盘等抽奖算法
2015/12/20 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
JS下拉框内容左右移动效果的具体实现
2013/07/10 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
JavaScript队列的应用实例详解【经典数据结构】
2017/04/12 Javascript
JS 实现banner图片轮播效果(鼠标事件)
2017/08/04 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
2017/11/29 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
Vue实现简易翻页效果源码分享
2018/11/08 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
bootstrap datepicker的基本使用教程
2019/07/09 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python 判断是否为质数或素数的实例
2017/10/30 Python
利用python numpy+matplotlib绘制股票k线图的方法
2019/06/26 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
css3媒体查询中device-width和width的区别详解
2020/03/27 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
Android面试题及答案
2015/09/04 面试题
函授毕业自我鉴定
2013/12/19 职场文书
就职演讲稿范文
2014/05/19 职场文书
大学生求职信例文
2014/06/29 职场文书
医院深入开展党的群众路线教育实践活动实施方案
2014/08/27 职场文书
七年级作文之秋游
2019/10/21 职场文书