我真的需要一些指导,因为对于像我这样的初学者来说,这个问题非常令人困惑并且理解起来非常不同。
我正在运行具有最新 CI 版本的 WAMP 服务器。
在 core/MY_Controller.php 我有:
public GeneralController extend CI_Controller {
public GeneralController() {
parent::__construct();
// Does some stuff
}
}
public AuthenticatedController extend GeneralController {
public AuthenticatedController() {
parent::__construct();
if(!loggedIn()) redirect("/login");
// Does some stuff
}
}
public UnauthenticatedController extend GeneralController {
public UnauthenticatedController() {
parent::__construct();
if(loggedIn()) redirect("/home");
// Does some stuff
}
}
我的登录控制器是:
class Login extends UnauthenticatedController {
所以基本上如果他们登录并加载“/login”,他们将被路由到“/home”。
这在我的本地环境中非常有效。
一旦我将它上传到我的服务器并导航到“/login”,我就会得到一个无限循环。调试后,我发现登录控制器加载的是 AuthenticatedController 而不是 UnauthenticatedController,因此它会无限地重定向回“/ login”。
好吧,现在由于某种原因继承被破坏了,所以我需要检查它是否同时调用了 Auth 和 Unauth 控制器。没有。即使它扩展了 UnauthenticatedController,也只需调用 Auth。
我在这里不知所措,我已经尝试了我能想象的一切,但作为一个新的 php 程序员,我想我会在尝试的事情上挑选一些你的大脑!
谢谢!
解决方案: 检查您的生产服务器 php 版本与本地