嘿,伙计们,我很困惑,因为我的项目不能在某些机器上运行。
我有一个UserController,它负责调用Auth::attempt()进行登录,成功登录后,它应该重定向到管理页面。
但在某些机器上,它会重定向(在auth::attemp()成功后)到管理页面,但根本没有创建元标记和会话!然后再次返回登录页面(通过过滤器)。
我已经检查了两次(甚至查看了文件),但在重定向之前没有人发送标头。
这种情况发生在少数机器上,而不是全部。
public function adminLogin()
{
if (Auth::attempt(array('email' => Input::get( 'email' ),'password' => Input::get('password'))) && Auth::user()->power == 1)
{
return Redirect::intended('admin');
}
else
{
Auth::logout();
return Redirect::to('login')->withErrors( 'Entered details are invalid or You may not have Admin Power' );
}
}
这是我在UserController.php上负责登录的函数。还有一件事,如果我在登录页面上输入了错误的登录详细信息。然后它又说重定向。。到消息,但显示错误。所以需要注意的是,会话正在工作,因为我仍然通过收到错误消息
@if (Session::has('errors'))
$("#output").addClass("alert alert-danger animated fadeInUp").html('{{ $errors->all()[0] }}');
@endif
当输入错误的登录详细信息时,这会显示错误。所以我想有一些会话处理。特定主机可能有问题?
您应该检查storage
目录(及其子目录,尤其是sessions
)是否有足够的权限。在某些web主机上,您可能需要将它们设置为0755
,甚至0777
,具体取决于web主机配置。
除了storage
目录设置有正确的文件读/写/执行权限(chmod
)之外。您还需要确保它可由使用chown
的Web服务器写入。如果您使用的是apache,请确保apache用户和组拥有存储目录以及所有子目录和文件。
chown -R apache:apache storage
如果在打开flash之前有空行('message,'My error message'),就会发生这种情况;在我的网页中。
检查以下页面:https://laracasts.com/discuss/channels/laravel/laravel-suddenly-displays-redirecting-page
我知道OP说他们对此进行了检查,但这可能会帮助其他人。