php5.3 不支持 session_register() 此函数已启用的解决方法

   2015-11-06 0
核心提示:php从5.2.x升级到5.3.2.出来问题了。有些原来能用的程序报错了,Deprecated: Function session_register() is deprecated

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

 
标签: session register
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • 微信小程序获取用户openid和session_key 小程序
    微信小程序获取用户openid和session_keywxml:button bindtap='getOpenIdTap'获取用户唯一标识openid/buttontextopenid:{{openid}}\n /texttextsession_key:{{session_key}}/textjs:const APP_ID = 'wx0843bxxxxxxxf6fc'; //输入小程序appidconst APP_SECRET =
    02-09
  • 解决Ruby On Rails下使用SwfUpload等Flash上传
    最近刚做好一个站,rails 3,大家捧场看看,谢谢!www.yo945.com  SwfUpload相当的好用,在让我在写前台功能的时候,是相当的爽快,然后写后台,OK,相当相当的爽快,相当相当的给力,可同时上传N个文件,显示进度,上传完成支持回调,相当好用!可是,当我
    02-09
  • swift3.0:NSURLSession的使用
    一、说明NSURLSession是OC中的会话类,在Swift中变成URLSession类,它们的实现方式是一样的,下面的示例就Swift语法进行讲解和介绍。 二、介绍:URLSession 类支持3种类型的任务:加载数据、下载和上传。加载数据:Data Task下载数据:Downlaod Task上传数
    02-09
  • swift NSURLSession 使用方法
    //NSURLSession/*创建一个session -创建一个task - 启动task - 处理回调*///http://www.douban.com/j/app/radio/channelsclass ViewController: UIViewController {    override func viewDidLoad() {        super.viewDidLoad()        
    02-09
  • 在nodejs使用Redis缓存和查询数据及Session持久
    https://segmentfault.com/a/1190000002488971
    02-09
  • .net杂记 (调用EXE 获取路径 target VB DIV C#
    //获取路径中文件名Path.GetFileName(pFullPath)判断文件是否存在File.Exists(路径文件)控制fileUpload控件,不让更改里面的内容,只可以选择contentEditable="false"用来验证fileUpload控件中的上传的图片格式的javascript脚本document.getElementById("FileUp
    02-09
  • Java Cookie与Session实现会话跟踪详解
    Java Cookie与Session实现会话跟踪详解
    目录概述Cookie封装发送 Cookie获取客户端请求时携带的cookieCookie原理Cookie的生命周期Cookie存储中文说明(URL编码介绍)Session存储和读取数据Session的钝化和活化Session的销毁(生命周期)Cookie 和 Session的对比概述要想了解会话跟踪技术,我想我们要
  • PHP执行Session与前端JS之间的关系 session在ph
     ?phperror_reporting(0);$path = './tmp/';$sess_name = session_name();echo $sess_name;$sess_id = $_GET[$sess_name];echo $sess_id;session_id($sess_id);session_save_path($path);session_start();if ((trim($_POST['username'])) != 'tm�
    02-09
  • php使用redis做缓存和使用redis保存session
    php使用redis一、ubuntu上安装php的redis模块我安装的是php7.3,2020年ubuntu1804安装php7.3最新详细教程直接使用命令:sudo apt install php-redis重启php-fpm: /etc/init.d/php7.3-fpm restart使用phpinfo()查看php的配置信息,检查是否启动redis模块二、安
    02-09
  • PHP设置会话(Session)超时过期时间实现登录时间
    最近某个PHP项目用到了限制登录时间的功能,比如用户登录系统60分钟后如果没有操作就自动退出,我搜索了网络收集了有以下方法可供参考。第一种方法即设置php.ini配置文件,设置session.gc_maxlifetime和session.cookie_lifetime节点属性值,当然也可以使用ini
    02-09
点击排行