session在php5.3中的变化 session_is_registered() is deprecated in


Posted in PHP onNovember 12, 2013

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

php5.3 不支持 session_register() 此函数已删除(解决办法)

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;
即可

PHP 相关文章推荐
PHP游戏编程25个脚本代码
Feb 08 PHP
php中实现记住密码自动登录的代码
Mar 02 PHP
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
Jun 14 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
Nov 26 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
thinkphp模板赋值与替换实例简述
Nov 24 PHP
typecho插件编写教程(一):Hello World
May 28 PHP
php查询whois信息的方法
Jun 08 PHP
Symfony2学习笔记之模板用法详解
Mar 17 PHP
thinkphp中多表查询中防止数据重复的sql语句(必看)
Sep 22 PHP
PHP使用文件锁解决高并发问题示例
Mar 29 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
CodeIgniter基本配置详细介绍
Nov 12 #PHP
You might like
建立文件交换功能的脚本(三)
2006/10/09 PHP
我的论坛源代码(六)
2006/10/09 PHP
Session保存到数据库的php类分享
2011/10/24 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
php调用云片网接口发送短信的实现方法
2017/10/25 PHP
javascript学习笔记(十八) 获得页面中的元素代码
2012/06/20 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
JQuery事件e参数的方法preventDefault()取消默认行为
2013/09/26 Javascript
js关于精确计算和数值格式化以及直接引js文件
2014/01/28 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
jquery 获取select数组与name数组长度的实现代码
2016/06/20 Javascript
javascript 分号总结及详细介绍
2016/09/24 Javascript
jQuery中 $ 符号的冲突问题及解决方案
2016/11/04 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
Node中对非阻塞I/O、事件循环的知识点总结
2020/01/05 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
[07:27]DOTA2卡尔工作室 英雄介绍水晶室女篇
2013/06/21 DOTA
Cython 三分钟入门教程
2009/09/17 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
利用python打开摄像头及颜色检测方法
2018/08/03 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
PyTorch中的C++扩展实现
2020/04/02 Python
Python爬虫之Selenium实现窗口截图
2020/12/04 Python
Footshop乌克兰:运动鞋的最大选择
2019/12/01 全球购物
Linux Interview Questions For software testers
2013/05/17 面试题
企业面试题试卷附带答案
2015/12/20 面试题
学习型班组申报材料
2014/05/31 职场文书
大专生自我鉴定怎么写
2014/09/16 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
详解Python类和对象内容
2021/06/22 Python