Vagrant file_put_contents 权限被拒绝

Jua*_*gel 2 php vagrant

我似乎不能允许流浪者的权限。我正在尝试运行 importbuddy.php 以迁移 WordPress 实例。我收到以下错误。

file_put_contents(/path/): failed to open stream: Permission denied

我在www目录上设置了 777 的权限,但这没有任何改变。关于如何解决这个问题的任何想法?

Oll*_*phy 5

虽然将文件夹和文件权限递归设置为 777 应该可以解决您的问题(此处的操作说明),但其根源可能是文件和文件夹的所有权问题。

共享文件夹的所有者通常是“vagrant”,但服务器本身(如果您使用的是 Ubuntu)作为用户和组“www-data”运行。您可以通过 SSH 连接到您的 VM ( vagrant ssh),导航到相关目录并进入ls -l您的控制台来查看文件的用户/组。

如果您正在运行 apache,那么您可以通过编辑以下文件 ( /etc/apache2/envvars)来将用户更新为 'vagrant',如下所示:

找到这个部分

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
Run Code Online (Sandbox Code Playgroud)

并将其更改为

export APACHE_RUN_USER=vagrant
export APACHE_RUN_GROUP=vagrant
Run Code Online (Sandbox Code Playgroud)

之后只需确保重新启动apache(使用此命令sudo service apache2 restart)并且文件权限错误应该被修复