Home >Backend Development >PHP Tutorial >Session changes in php5.3 session_is_registered() is deprecated in_PHP tutorial
When running the code in the book in php5.3, the following prompt will appear:
Function session_is_registered() is deprecated in
Function session_register() is deprecated in
It means that these two functions are deprecated and deprecated.
The following is the code from the official PHP manual. The comments section has stated that session_register() is deprecated
// 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.";
?>
And there are the following warnings and tips:
Warning
This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0.
Warning: This function has been DEPRECATED as of PHP 5.3.0 and REMOVED as of PHP 5.4.0. Deprecated and removed in 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.
Tip: If $_SESSION is used , just use the isset() function to check.
Caution
If you are using $_SESSION (or $HTTP_SESSION_VARS), do not use session_register(), session_is_registered() and session_unregister().
php5.3 does not support session_register( ) This function has been deleted (solution)
There is a problem when php is upgraded from 5.2.x to 5.3.2. Some programs that originally worked reported errors.
The error content is
Deprecated: Function session_register() is deprecated
I checked and found that the session_register in 5.3 is no longer allowed to be used. Will it be demoted back? accurate.
After searching, a solution is to write a function
// 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();
?>
After checking there are not many places where this problem occurs, I found another method , just
change
session_register( “abc” );
to
$_SESSION['abc'] = null;
and that’s it