1

我想在我的 vagrant box 上加速我的 symfony2 项目,所以我想把我的供应商移到项目文件夹之外。

我已经将它们安装在 /home/vagrant/www/simtp/vendor 中,但是当包含 autoload.php 时出现权限错误。

Warning: require(/home/vagrant/www/simtp/vendor/autoload.php): failed to open stream: Permission denied in /var/www/simtp/app/autoload.php on line 11

Fatal error: require(): Failed opening required '/home/vagrant/www/simtp/vendor/autoload.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/simtp/app/autoload.php on line 11

我已经测试过用 chown 更改权限,之前它是“root”,现在它是“www-data”(就像旧的供应商文件夹)。我已经测试过为 777 更改 chmod。

但没有任何工作......:/ Ps:我的缓存文件夹是空的。

我能做些什么?

谢谢。

4

1 回答 1

0

我不是这方面的专家,但由于没有其他人回复,我认为最简单的解决方案是将供应商文件移动到不在其他用户主目录中的目录。在这种情况下:/home/vagrant/

比方说:/var/www-vendor/simtp/app/

这个供应商目录应该有 chown 与 apache worker 兼容(所以它可以访问)

您还可以尝试此处描述的解决方案: https ://unix.stackexchange.com/questions/91488/allow-a-user-to-read-some-other-users-home-directories

据我所知,尽管有标准权限,但用户主目录受到特别保护,这就是您遇到此问题的原因。

您也没有说明您正在使用什么 linux 发行版,因此您可以考虑将其添加到您的问题中,这样其他人就可以减少工作量。

于 2015-03-21T11:08:23.883 回答