DEV*_*OPS 43 php session deprecated
如何修复session_register()PHP 5.3中已弃用的问题
Fel*_*ing 44
不要使用它.描述说:
使用当前会话注册一个或多个全局变量.
我想到了两件事:
$_SESSION['var'] = "value".另请参阅手册中的警告:
如果您希望脚本无论如何都可以工作
register_globals,则需要使用该$_SESSION数组,因为$_SESSION条目会自动注册.如果您的脚本使用session_register(),它将无法在register_globals禁用PHP指令的环境中工作.
这非常重要,因为该register_globals指令默认设置为False!
进一步:
这会注册一个
global变量.如果要在函数内注册会话变量,则需要确保使用global关键字或$GLOBALS[]数组使其成为全局变量,或使用如下所述的特殊会话数组.
和
如果您正在使用
$_SESSION(或$HTTP_SESSION_VARS),不使用session_register(),session_is_registered()和session_unregister().
sha*_*mar 24
使用$_SESSION直接设置变量.像这样:
$_SESSION['name'] = 'stack';
Run Code Online (Sandbox Code Playgroud)
代替:
$name = 'stack';
session_register("name");
Run Code Online (Sandbox Code Playgroud)
Ser*_*val 18
在PHP 5.3之前
session_register("name");
Run Code Online (Sandbox Code Playgroud)
自PHP 5.3起
$_SESSION['name'] = $name;
Run Code Online (Sandbox Code Playgroud)
wut*_*aer 10
如果你需要一个后备功能,你可以使用它
function session_register($name){
global $$name;
$_SESSION[$name] = $$name;
$$name = &$_SESSION[$name];
}
Run Code Online (Sandbox Code Playgroud)