我在几台机器(Ubuntu 14.04.5 + Nginx)上运行 WordPress 版本 4.7.1,并想升级到 4.7.3。但是,当我尝试通过 WP-Admin 运行更新时,它给出:
无法安装更新,因为我们无法复制某些文件。这通常是由于文件权限不一致造成的。:wp-admin/includes/update-core.php
所以我认为是一些权限问题,我使用以下命令进行了更新:
find /var/www/site -type f -exec chmod 664 {} \;
find /var/www/site -type d -exec chmod 775 {} \;
chmod 600 /var/www/site/wp-config.php
但这也未能解决问题 - 仍然出现同样的错误。
如果我运行chown -R www-data:www-data .
它似乎工作正常但担心安全...有什么想法?
答案1
通常,所有文件都应归您的 Web 服务器上的用户 (ftp) 帐户所有,并且应可由该帐户写入。在共享主机上,文件永远不应归 Web 服务器进程本身所有(有时是 www、apache 或 nobody 用户)。
参考 -Wordpress 法典
这是我在 webroot 上运行的用于设置权限的脚本。这是在我的 AWS EC 实例上。我对权限还有更多了解这里。
chown -R myusername:www-data /var/www/*
# This part runs for each wordpress install individually
find /var/www/sp -type d -exec chmod 755 {} \;
find /var/www/wp -type f -exec chmod 644 {} \;
find /var/www/wp/wp-content/uploads -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/plugins -type f -exec chmod 664 {} \;
find /var/www/wp/wp-content/themes -type f -exec chmod 644 {} \;
chmod 440 /var/www/wp/wp-config.php
chmod -R g+s /var/www/wp/
我的 Web 服务器用户 nginx 是 www-data 组的成员