【问题标题】:Permission based issue with Valet (so it seems)Valet 基于权限的问题(看起来如此)
【发布时间】:2020-01-17 22:10:51
【问题描述】:

我让代客工作,.test 域可以被 ping 等。

但是,当我创建 laravel new test-site 时,我收到了一堆基于权限的错误。我 'sudo'd' laravel 构建,但我一再被警告不要这样做。

如果我随后在浏览器上查看该网站,这是我得到的错误:

还有这个:

那么 - 问题是我将“站点”文件夹(我可以“构建”)放在我机器的不适当部分吗?

【问题讨论】:

    标签: laravel laravel-valet


    【解决方案1】:

    您需要授予对存储目录的权限。

    在我的本地 Mac 中,我通常会这样做

    sudo chmod -R 777 storage/
    

    但这在服务器/生产环境中很容易受到影响。我建议您应该更改目录所有权。因此,将您登录的当前用户设置为所有者,并将网络服务器用户(www-data,apache,...)设置为组。你可以试试这个:

    sudo chown -R $USER:www-data storage
    sudo chown -R $USER:www-data bootstrap/cache
    

    然后设置目录权限试试这个:

    chmod -R 775 storage
    chmod -R 775 bootstrap/cache
    

    网络服务器用户和组取决于您的网络服务器和操作系统。要弄清楚您的 Web 服务器用户和组是什么,请使用以下命令。

    对于 nginx 使用:

    ps aux|grep nginx|grep -v grep
    

    供apache使用:

    ps aux | egrep '(apache|httpd)'
    

    【讨论】:

    • 谢谢。但是,如果文件是通过 git 或其他方式推送的,那么权限也会随文件一起发送吗?还是不是这样……
    • 权限也被发送了,但是你拉服务器的时候没关系,你必须在那里再次给予相同的权限。
    • 好的,感谢所有这些 - 非常有帮助。这是我第一次遇到这种情况,并且我使用过 MAMP、Homestead 等。这是否只是因为我将“站点”目录文件夹(即包含 Laravel 项目文件的主目录)安装在错误的位置?
    • 不,这通常出现在 Mac 上,每次我进行全新安装或从存储库克隆新项目时都会遇到这个问题。
    • 我肯定很好 - 只是一个简单的问题 - 抱歉这有点基本但使用命令 > sudo chmod -R 777 storage/ 是“存储”和用户创建的目录示例或那是mac的东西吗? (我在 Mac 上)谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-07-12
    • 2011-02-20
    • 2019-06-12
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    相关资源
    最近更新 更多