bootstrap / autoload.php - 无法打开流:权限被拒绝

时间:2016-04-14 02:04:56

标签: amazon-web-services nginx ubuntu-14.04 laravel-5.2

我正在使用laravel运行的网站。通过Homestead,这个网站在我当地工作正常,没问题。

最近,我把git repo推到了之前从未运行过这个站点的服务器上。我把所有东西设置正确(暂时有一些nginx配置问题,但是这些问题都解决了)。 Nginx将公用文件夹设置为站点根目录,因此在加载页面时它会访问正确的索引页。

我得到的是500错误。我的错误日志显示以下原因:

site_root/public/../bootstrap/autoload.php - Failed to open stream: permission denied

in

site_root/public/index.php on line 22

我可以确认web用户可以访问bootstrap文件夹和autoload.php文件,并且具有允许访问的权限。

我已经在线阅读了一些人们使用“作曲家安装”来解决这个问题的案例。我尝试更新composer,进行安装,并转储其缓存。我还尝试删除供应商文件夹(已经是git repo的一部分),并运行composer install来重新生成它。这些都没有奏效。很高兴提供任何有用的信息。这是在带有nginx的Ubuntu Server 14.04上运行的Laravel 5.2,全部都在AWS盒子上。

1 个答案:

答案 0 :(得分:0)

解决了它。这实际上是站点范围权限的问题。它们被设置为770而不是775.我怀疑我可以而且应该更多地限制它们。现在,我很高兴再次加载它。

故事的道德是在站点范围内检查您的权限,而不仅仅是在给您致命错误的文件上。尽管权限在上述文件中是开放的,但您可能会继续获得相同的致命错误。如果是这样,请在其他地方查找权限问题。