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

2015-01-24信息快讯网

在php 5.3中session_is_registered()已经是放弃使用了,大家在使用过程中需要注意一下了

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

ThinkPHP CURD方法之where方法详解
CI框架自动加载session出现报错的解决办法
Thinkphp中Create方法深入探究
PHP中多维数组的foreach遍历示例
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
PHP错误Cannot use object of type stdClass as array in错误的解决办法
Codeigniter出现错误提示Error with CACHE directory的解决方案
Codeigniter中禁止A Database Error Occurred错误提示的方法
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
PHP资源管理框架Assetic简介
PHP独立Session数据库存储操作类分享
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
一个严格的PHP Session会话超时时间设置方法
php中session过期时间设置及session回收机制介绍
php5.3 不支持 session_register() 此函数已启用的解决方法
PHP使用正则表达式清除超链接文本
php file_get_contents抓取Gzip网页乱码的三种解决方法
PHP set_error_handler()函数使用详解(示例)
php session劫持和防范的方法
PHP使用SOAP调用.net的WebService数据
PHP利用str_replace防注入的方法
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
PHP中spl_autoload_register函数的用法总结
php foreach循环中使用引用的问题
php Session存储到Redis的方法
教你如何使用php session
php json与xml序列化/反序列化
php session_start()出错原因分析及解决方法
PHP关于IE下的iframe跨域导致session丢失问题解决方法
©2014-2024 dbsqp.com