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校验ISBN码的函数代码
Jan 17 PHP
php调用Google translate_tts api实现代码
Aug 07 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
PHP保存带BOM文件的方法
Feb 12 PHP
php判断对象是派生自哪个类的方法
Jun 20 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
常用PHP数组排序函数归纳
Aug 08 PHP
PHP序列化操作方法分析
Sep 28 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
PHP学习笔记之session
May 06 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 PHP
PHP Swoole异步Redis客户端实现方法示例
Oct 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
ThinkPHP实现简单登陆功能
2017/04/28 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
php表单处理操作
2017/11/16 PHP
django中的ajax组件教程详解
2018/10/18 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
iframe子页面获取父页面元素的方法
2013/11/05 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
JS传值出现中文参数乱码的解决方法
2016/06/30 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
angular.js4使用 RxJS 处理多个 Http 请求
2017/09/23 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
实现elementUI表单的全局验证的方法步骤
2019/04/29 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
[03:12]完美世界DOTA2联赛PWL DAY7集锦
2020/11/06 DOTA
Python itertools模块详解
2015/05/09 Python
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
使用pip发布Python程序的方法步骤
2018/10/11 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
Python与C/C++的相互调用案例
2021/03/04 Python
CSS3 制作绽放的莲花采用效果叠加实现
2013/01/31 HTML / CSS
英国版MAC彩妆品牌:Illamasqua
2018/04/18 全球购物
武汉世纪畅想数字传播有限公司 .NET笔试题
2015/06/13 面试题
幼儿园中班教师寄语
2014/04/03 职场文书
教代会闭幕词
2015/01/28 职场文书
2016元旦晚会主持词开场白和结束语
2015/12/04 职场文书
小学教代会开幕词
2016/03/04 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
导游词之山西祁县乔家大院
2019/10/14 职场文书
导游词之云南省玉龙雪山
2019/12/19 职场文书
MySQL基础(一)
2021/04/05 MySQL
一起来学习Python的元组和列表
2022/03/13 Python