突然出现在登录我的某个网站时遇到以下错误:
Call to undefined function session_register()
经过一些研究后,我发现在PHP 5.4之后不推荐使用session_register().我检查了我的主机控制面板,果然它说我正在运行的当前版本是PHP 5.4.19.我认为他们只是强迫升级,这就是为什么这个问题似乎突然发生的原因.
我查看了几个Stack Overflow帖子并查看了PHP文档的链接.根据我收集的内容,不推荐使用session_register(),而应使用$_SESSION替换它.
问题是,这两个已经出现在我的代码中.这是我的index.PHP文件中的代码:
53 <? if ($username) { 54 session_register("ADMIN"); 55 $_SESSION['ADMIN'] = $username; 56 ?>
所以我希望通过删除第54行(已弃用的部分)然后它应该工作,但事实并非如此.当我这样做时,它打破了代码.
基于我读过HERE和HERE的其他帖子,他们似乎在说我在上面第55行看到的代码本身应该可以解决问题.所以我有点困惑为什么它不起作用.如果有人能告诉我我应该使用什么代码,我会真诚地感激它.该脚本的开发人员并未真正提供支持.
可能它缺少对session_start的调用,session_register会自动执行此操作,因此您需要做的就是确保在使用$_SESSION global之前调用了session_start.
你可以在这里查看更多http://www.php.net/manual/en/function.session-register.php
If session_start() was not called before this function is called,an implicit call to session_start() with no parameters will be made. $_SESSION does not mimic this behavior and requires session_start() before use.