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

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

(0)

相关推荐

  • Java @Deprecated注解的作用及传递性

    相关知识:Java中三种简单注解介绍和代码实例 一.作用 用 @Deprecated注解的程序元素,不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好的选择.在使用不被赞成的程序元素或在不被赞成的代码中执行重写时,编译器会发出警告. 二.传递性 如果一个类被使用了@Deprecated注解,在调用这个类的地方IDE会给出提示.但如果调用这个类的字类IDE会进行提示吗? 从实验结果看是不会的.因为采用编辑器插入代码时不会像IDE那样出现提示,这里采用截图,有兴趣的同学可以做下实验. 以上内容

  • php5.3提示Function ereg() is deprecated Error问题解决方法

    本文实例讲述了php5.3提示Function ereg() is deprecated Error问题解决方法.分享给大家供大家参考.具体实现方法如下: 一.问题: PHP 5.3 ereg() 无法正常使用,提示"Function ereg() is deprecated Error"是因为它长ereg 函数进行了升级处理,需要像preg_match使用/ /来规则了,当然也是php5.3把ereg给废掉的节奏了. PHP 5.3 ereg() 无法正常使用,提示"Fun

  • 小议Java中@param注解与@see注解的作用

    @ param @ param标签可以归档方法或构造器的某个单一参数,或者归档类.接口以及泛型方法的类型参数.在使用@ param标签时,我们应该针对方法的每一个参数都使用一个该标签.每个段落的第一个词会被当作参数名,而余下的部分则会被当作是对它的描述: @param max The maximum number of words to read. 当归档类型参数时,我们应该在类型参数名两边加上<和>: @param一e element type of this List 然而,类型参数通常并

  • Function eregi is deprecated (解决方法)

    在php升级到php5.3之后后,在使用的过程经常发现有的程序会出现Function eregi() is deprecated 的报错信息.是什么原因呢?这是因为php5.3中不再支持eregi()函数,而使用preg_match()函数替代.解决的方法是:将eregi()函数替换成preg_match() 函数. if(eregi('^test',$file))可以替换为if(preg_match('/^test/i',$file)) -----PHP 5.3.0 之後的 regex, 希望

  • MySQL 5.6 中TIMESTAMP with implicit DEFAULT value is deprecated错误

    安装MySQL时,有warning: [root@localhost mysql]# scripts/mysql_install_db --user=mysql Installing MySQL system tables...2015-08-13 14:20:09 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server

  • php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]

    Warning: Call-time pass-by-reference has been deprecated in E:\Program Files\EasyPHP 3.0\www\bugfree\Include\Class\XmlParse.class.php on line 46 Warning: Call-time pass-by-reference has been deprecated in E:\Program Files\EasyPHP 3.0\www\bugfree\Incl

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

    在php5.3中运行书中代码会有如下提示:Function session_is_registered() is deprecated inFunction session_register() is deprecated in 意思是说这两个函数是不赞成的,弃用的. 下面是php官方手册上的代码,注释部分已经说明了不赞成用session_register() 复制代码 代码如下: <?php// Use of session_register() is deprecated 不赞成用sessi

  • Vue.js2.0中的变化小结

    最近自己在学习Vue.js,在看一些课程的时候可能Vue更新太块了导致课程所讲知识和现在Vue的版本不符,从而报错,我会在以后的帖子持续更新Vue的变化与更新,大家也可以一起交流,共同监督学习! 1.关于Vue中$index获取索引值已经取消,多用于多个元素的操作,像ul中的li,通过v-for来建立多个li,如果对于其中的某个或者一些li操作的话,需要使用到索引值,用法如下; <template> <div class="hello"> <h1>{

  • Python实现比较两个文件夹中代码变化的方法

    本文实例讲述了Python实现比较两个文件夹中代码变化的方法.分享给大家供大家参考.具体如下: 这里将修改代码后的目录与原始目录做对比,罗列出新增的代码文件,以及修改过的代码文件 # -*- coding: utf-8 -*- import os; folderA = "F:\\Projects\\FreeImageV3_14_1\\".lower(); folderB = u"E:\\Software\\图像解码库\\FreeImage3141\\FreeImage\\&q

  • PHP5.2中PDO的简单使用方法

    本文实例讲述了PHP5.2中PDO的简单使用方法.分享给大家供大家参考,具体如下: 一.PDO配置 1.确保PHP版本为5.2.5以上 2.在php.ini中找到Dynamic Extensions扩展部分,去掉extension=php_pdo.dll前面的分号 3.去掉相应数据库PDO扩展前面的分号,如:extension=php_pdo_mysql.dll 二.范例中数据库 CREATE TABLE tablename ( id mediumint(8) UNSIGNED NOT NULL

  • Zend Framework实现将session存储在memcache中的方法

    本文实例讲述了Zend Framework实现将session存储在memcache中的方法.分享给大家供大家参考,具体如下: 在zend framework中,已经可以将session存储在数据库中了,不过还不支持memcache,我简单得实现了一下. 下面是SaveHandler,文件名为 :Memcached.php ,将其放在 /Zend/Session/SaveHandler 目录下,代码如下(需要有php_memcache支持,因为字符长度限制,我把部分注释去掉了): require

  • django框架用户权限中的session缓存到redis中的方法

    django框架默认将session保存到数据库中,在高并发访问无疑会影响服务器性能,因此最好将session保存到redis中避免直接从数据库中读取session数据 settings.py中配置如下: #配置redis CACHES = { 'default': { 'BACKEND': 'redis_cache.RedisCache', 'LOCATION': '127.0.0.1:6379', 'OPTIONS': { 'DB': 0, 'PASSWORD': 'abxdcfgda',

  • vue和react中props变化后如何修改state

    目录 vue和react中props变化后修改state 改进 react改变state必须知道的知识点 1.不能直接修改state 2.state的更新是异步的 3.state的更新是一个合并的过程 state与不可变对象 vue和react中props变化后修改state 如果只想在 state 更改时重新计算某些数据,比如搜索框案例. vue <template> <div> <input type="text" v-model="filt

  • 关于session在PHP5的配置文件中的详细设置参数说明

    ;处理session存取的模式(预设:files) session.save_handler = files ;session档案存放路径(预设:/tmp) session.save_path = /tmp ;session使用cookie的功能(预设:启动 1) session.use_cookies = 1 ;session的名字(预设:PHPSESSID) session.name = PHPSESSID ;自动启动(预设:关 0,此处可以改为1) session.auto_start =

  • PHP5.4中json_encode中文转码的变化小结

    在php5.4以前做json_encode的时候中文会被unicode编码,中文都会被编码,变成不可读的,类似"\u***"的格式,还会在一定程度上增加传输的数据量. 例如: 复制代码 代码如下: <?php $str = '中文'; echo json_encode($str); //"\u4e2d\u6587" php5.4开始 echo json_encode($str, JSON_UNESCAPED_UNICODE); //"中文"

  • php5.3中ZendGuardLoader与wincache冲突问题的解决方法

    windows环境下,php5.3版本同时开始ZendGuardLoader和wincache的话,会导致zend加密过的部分文件会无法正常运行,提示"Zend Guard Run-time support missing!". 问题重现:从应用中心安装需要zend支持的插件时,校验文件(经过zend加密过的单一文件)正常,也能通过应用中的校验并下载插件,但在安装插件时就会出现上面说到那些提示. 问题分析:zend与wincache冲突 解决方法: 关于wincache: 在php.i

随机推荐