dongran1779
2014-08-06 02:24
浏览 51
已采纳

流浪汉盒子上的Laravel重复出现权限问题

I'm getting some strange permissions problems. I'm using Laravel on a vagrant box. I regularly have to reset my app/storage permissions.

Here's my process:

  • in terminal, run sudo chmod -R 777 app/storage. I do this both from the vagrant ssh and directly on my machine.

  • everything loads fine.

  • I run a login script that looks like this:

    public function store()
    {
    $input = Input::all();
    
    $attempt = Auth::attempt([
        'email' => $input['email']
        , 'password' => $input['password']
    ]);
    
    if($attempt){
        return Redirect::intended('/');
    }else{
        dd('errors');
    }
    }
    
  • I fill in my login with incorrect details & I get the dd() output as expected.

  • I return to my login form.

  • I enter valid user details.

  • I get the following permissions error:

    file_put_contents(/var/www/laravel/app/storage/sessions/62da397f3ec526dea6cabf36f06657234dfb9de7): failed to open stream: Permission denied
    
  • In terminal I run sudo chmod -R app/storage again.

  • I can reload the page and the permissions denied error is gone.

I've done this consistently every. single. time. I can't work out what's messing with my permissions or how to fix it.

图片转代码服务由CSDN问答提供 功能建议

我遇到了一些奇怪的权限问题。 我在流浪盒上使用Laravel。 我经常需要重置 app / storage 权限。

这是我的过程:

  • 在终端中,运行 sudo chmod -R 777 app / storage < /代码>。 我从流浪汉ssh和直接在我的机器上做到这一点。

  • 一切都很好。

  • 我运行一个如下所示的登录脚本:

      public function store()
     {
     $ input = Input :: all(); 
     
     $尝试 = Auth :: attempt([
    '电子邮件'=&gt; $ input ['email'] 
    ,'password'=&gt; $ input ['password'] 
    ]); 
     
    if($ attempt)  ){
    返回Redirect :: intention('/'); 
    } else {
     dd('errors'); 
    } 
    } 
        \  n 
  • 我用不正确的详细信息填写我的登录信息&amp; 我按预期得到 dd()输出。

  • 我返回登录表单。

  • 我输入有效的用户详细信息。 < / li>

  • 我收到以下权限错误:

      file_put_contents(/ var / www / laravel / app / storage / sessions / 62da397f3ec526dea6cabf36f06657234dfb9de7): 无法打开流:权限被拒绝
        
     
  • 在终端我再次运行 sudo chmod -R app / storage 。 / p>

  • 我可以重新加载页面,权限被拒绝错误消失了。

    我每次都做到这一点。 单。 时间。 我无法解决弄乱我的权限或如何修复它的问题。

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • douzhun8615 2014-08-06 03:40
    已采纳

    I've just figured it out. it's to do with the vagrantfile. I added the owner and group info to the synced files and it's working now.

      config.vm.synced_folder ".", "/var/www", :owner => 'www-data', :group => 'www-data'
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • dq05304 2014-08-06 03:34

    php has chance to run session gc after every session_start(), i.e. delete all session files you set before.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题