【问题标题】:premisson to working correctly laravel允许正确工作 laravel
【发布时间】:2014-02-28 22:47:55
【问题描述】:

我使用 Laravel 4 创建了一个项目,但是当我转到文件夹 localhost /my_project/public 时,会出现一些与权限相关的错误。我解决了它设置为 777 my_project 中包含的文件夹和文件的所有权限。有没有办法解决这个东西不做777?

【问题讨论】:

    标签: php linux apache web laravel-4


    【解决方案1】:

    当您为 my_project 目录设置 755 权限时会发生什么?尝试更改权限并检查它。您的目录应该能够读取公共目录中的所有文件。

    【讨论】:

      【解决方案2】:

      我将我的所有权设置为www-data

      chown -R auser:www-data /path/to/laravel/root
      

      我还将我所有的子文件夹和文件 readwrite 按组:

      chmod -R g+rw /path/to/laravel/root
      

      我还让我的文件夹有一个粘性位,所以如果你添加一个新文件,它会继承:

      chmod -R g+s /path/to/laravel/root
      

      这一直对我有用。也许 Linux 专家可能有更好的想法,但这是我使用的。

      【讨论】:

      • 这对于开发设置来说可能没问题,但对于生产环境则不行,因为它会授予文件和文件夹不必要的权限。 Web服务器只需要对“app/storage”的写权限,如果你想上传到文档根目录,你可以授予对“public”目录的访问权限。
      【解决方案3】:

      请参阅位于http://laravel.com/docs/installation 的 Laravel 安装文档。在任何情况下,您都不应该在生产环境中运行 laravel 并拥有对整个世界的完全权限。您还必须记住,您的“应用程序”将从公共目录执行,因此没有理由允许整个世界对整个项目目录进行读/写/执行,除非您根本不关心安全性。

      无论如何,从 Laravel 的权限部分的文档中提取:

      “Laravel 可能需要配置一组权限:文件夹 在应用程序/存储中需要 Web 服务器的写入权限。”

      这将使您的项目顺利进行。

      【讨论】:

      • 比设置存储目录的权限要复杂。其中的文件(例如模板、缓存、日志)需要由 Web 用户和安装用户编写。在 Linux 上,sticky bit 可能有助于在创建新文件时将权限从目录复制到新文件。
      猜你喜欢
      • 1970-01-01
      • 2013-03-23
      • 1970-01-01
      • 2022-10-13
      • 2016-11-27
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多