将 symfony vendor 移到根项目之外
Move symfony vendor outside the root project
我想在我的 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"(就像旧的 vendor 文件夹)。我已经测试过了,无法更改 777 的 chmod。
但没有任何效果......:/
Ps : 我的缓存文件夹是空的。
我能做什么?
谢谢。
我不是这方面的专家,但由于没有其他人回复,我认为最简单的解决方案是将供应商文件移动到不在其他用户主目录中的目录。在这种情况下:
/home/vagrant/
让我们说:
/var/www-vendor/simtp/app/
此供应商目录应具有与 apache worker 兼容的 chown(因此它可以访问)
您也可以尝试此处描述的解决方案:
https://unix.stackexchange.com/questions/91488/allow-a-user-to-read-some-other-users-home-directories
据我所知,尽管有标准权限,但用户主目录受到特别保护,这就是您遇到此问题的原因。
您也没有说明您使用的 linux 发行版,因此您可以考虑将此添加到您的问题中,这样其他人就可以减少工作量。
我想在我的 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"(就像旧的 vendor 文件夹)。我已经测试过了,无法更改 777 的 chmod。
但没有任何效果......:/ Ps : 我的缓存文件夹是空的。
我能做什么?
谢谢。
我不是这方面的专家,但由于没有其他人回复,我认为最简单的解决方案是将供应商文件移动到不在其他用户主目录中的目录。在这种情况下: /home/vagrant/
让我们说: /var/www-vendor/simtp/app/
此供应商目录应具有与 apache worker 兼容的 chown(因此它可以访问)
您也可以尝试此处描述的解决方案: https://unix.stackexchange.com/questions/91488/allow-a-user-to-read-some-other-users-home-directories
据我所知,尽管有标准权限,但用户主目录受到特别保护,这就是您遇到此问题的原因。
您也没有说明您使用的 linux 发行版,因此您可以考虑将此添加到您的问题中,这样其他人就可以减少工作量。