zoukankan      html  css  js  c++  java
  • php5.3 不支持 session_register() 此函数已启用的解决方法

    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]); 
    }  // www.jbxue.com
    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");
    // www.jbxue.com

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

  • 相关阅读:
    树上启发式合并_训练总结+题目清单
    Wannafly Day2 E 阔力梯的树(树上启发式合并)
    profile(/etc/profile)和bash_profile的区别
    MacOS配置.bash_profile,重启终端后配置失效和MacOS .zshrc does not exist问题
    Markdown入门学习202004
    把-图片的链接-下载到本地(服务器);
    前端Vue- v-for 循环中删除 元素;
    关于谷歌浏览器(Chrome)前端JS方法调用方法,运行顺序出错问题;
    国外的api之ASANA-java开发-ASANAAPI(真难!)
    vue脚手架3.x完整版
  • 原文地址:https://www.cnblogs.com/linuxnotes/p/3420624.html
Copyright © 2011-2022 走看看