如何解决session_register()
过时问题,在PHP 5.3如何解决session_register()已弃用的问题?
41
A
回答
43
不要使用它。描述如下:
在当前会话中注册一个或多个全局变量。即来到我的脑海
两件事情:
- 使用全局变量是不好的,无论如何,找到一个方法来避免它们。
- 您仍然可以使用
$_SESSION['var'] = "value"
设置变量。
又见警告从manual:
如果你想不管
register_globals
你的脚本工作,需要改用$_SESSION
数组作为$_SESSION
条目自动注册。如果您的脚本使用session_register()
,它将而不是在禁用PHP指令register_globals
的环境中工作。
这是非常重要的,因为register_globals
指令is set to False
by default!
另外:
此注册一个
global
变量。如果要从函数中注册会话变量,则需要确保使用global
关键字或$GLOBALS[]
数组使其成为全局变量,或者使用如下所述的特殊会话数组。
和
如果您正在使用
$_SESSION
(或$HTTP_SESSION_VARS
),不要使用session_register()
,session_is_registered()
和session_unregister()
。
23
直接使用$_SESSION
设置变量。像这样:
$_SESSION['name'] = 'stack';
相反的:
$name = 'stack';
session_register("name");
16
PHP 5.3
session_register("name");
因为PHP 5之前。3
$_SESSION['name'] = $name;
-1
我们只需要在弃用函数前面使用@
。无需改变上述职位中提到的任何内容。例如:if([email protected]_is_registered("username")){ }
。只要把@
和问题解决了。
8
,如果你需要一个备用的功能,你可以使用这个
function session_register($name){
global $$name;
$_SESSION[$name] = $$name;
$$name = &$_SESSION[$name];
}
0
为了补充Felix Kling的回答,我正在研究的是曾经有过下面的代码的代码库:
if (is_array($start_vars)) {
foreach ($start_vars as $var) {
session_register($var);
}
} else if (!(empty($start_vars))) {
session_register($start_vars);
}
为了为了不使用session_register,他们做了以下调整:
if (is_array($start_vars)) {
foreach ($start_vars as $var) {
$_SESSION[$var] = $GLOBALS[$var];
}
} else if (!(empty($start_vars))) {
$_SESSION[$start_vars] = $GLOBALS[$start_vars];
}
相关问题
- 1. 弃用:功能split()已弃用。如何解决这个问题?
- 2. 如何解决PHP已弃用自动填充$ HTTP_RAW_POST_DATA已被弃用的问题?
- 3. 如何解决函数sql_regcase()已弃用问题php
- 4. 了session_register - 弃用
- 5. 弃用:函数eregi()已弃用,如何解决此错误?
- 6. (已解决)socket.io:如何放弃url:port scheme?
- 7. 如何解决对于SEO的弃用问题
- 8. 如何解决@CucumberOptions中格式选项的弃用问题?
- 9. 如何解决Rails插件上的rake任务弃用问题?
- 10. 如何解决弃用:startManagingCursor()
- 11. 如何解决这个弃用问题“abs已弃用:请使用`abs(_)`免费功能”
- 12. AVAudiosession已弃用问题
- 13. 如何解决“sql(sqlContext ...)'已弃用”SparkR中的警告
- 14. Rails:如何解决'rake/rdoctask''已被弃用'的警告?
- 15. 如何解决“DL已弃用,请使用小提琴”Rails 4.1.8?
- 16. 如何解决RTCIceServer.url已弃用!改用urls?
- 17. 如何解决弃用的Twig_Function,Twig_Function_Method,Twig_Function_Node
- 18. 如何解决我弃用的gluOrtho2D()?
- 19. client.GetServer()已弃用,我该如何解决它?
- 20. WordPress插件'WP_widget'已弃用,如何解决?
- 21. i = Integer.parseInt(dis.readLine())[已弃用] ..如何解决它?
- 22. HttpClient DefaultHttpClient()ClientProtocolException已弃用,该如何解决?
- 23. 已解决的Oracle sql删除问题
- 24. session_register()有什么问题?
- 25. 如何解决弃用调用
- 26. 如何解决SecurityException问题?
- 27. 如何解决swrevealviewcontroller问题
- 28. 如何解决SVN:externals问题
- 29. 如何解决jQuery问题?
- 30. 如何解决问题parent.document
只是抑制错误不是处理已弃用功能的正确方法。它有时是一个快速修补程序,但从来不是一个长期解决方案(甚至不是短期的!)。试着找出它被标记为不赞成的原因以及你可以对它做些什么! – Haudegen 2015-08-04 14:32:15