>  기사  >  백엔드 개발  >  php5.3 不支持 session_register() 此函数已启用怎么办?

php5.3 不支持 session_register() 此函数已启用怎么办?

WBOY
WBOY원래의
2016-07-25 08:52:54732검색
  1. // Fix for removed Session functions
  2. function fix_session_register(){
  3. function session_register(){
  4. $args = func_get_args();
  5. foreach ($args as $key){
  6. $_SESSION[$key]=$GLOBALS[$key];
  7. }
  8. }
  9. function session_is_registered($key){
  10. return isset($_SESSION[$key]);
  11. }
  12. function session_unregister($key){
  13. unset($_SESSION[$key]);
  14. }
  15. }
  16. if (!function_exists('session_register')) fix_session_register();
  17. ?>
复制代码

找到了另外一个方法,直接把: session_register( “abc” ) ; 改成 $_SESSION['abc'] = null; 即可

session在php5.3中的变化 (bbs.it-home.org 脚本学堂) 在php5.3中运行书中代码会有如下提示: Function session_is_registered() is deprecated in Function session_register() is deprecated in 即这两个函数是不赞成用了的,弃用的。

下面是php官方手册上的代码,注释部分已经说明了不赞成用session_register()

  1. // Use of session_register() is deprecated 不赞成用session_register()
  2. $barney = "A big purple dinosaur.";
  3. session_register("barney");
  4. // Use of $_SESSION is preferred, as of PHP 4.1.0 首选 $_SESSION
  5. $_SESSION["zim"] = "An invader from another planet.";
  6. // The old way was to use $HTTP_SESSION_VARS
  7. $HTTP_SESSION_VARS["spongebob"] = "He's got square pants.";
  8. ?>
复制代码

并且有如下警告及提示: Warning This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.

警告:这个函数在php5.3中已不推荐使用,在php5.4中已被移除。 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()函数来检查。 If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.