我的设置:
OS: CentOS 7.1
http user: apache
http group: apache
当我执行自动更新时,我收到以下错误:
从中下载更新 https://downloads.wordpress.org/release/wordpress-4.4.2-new-bundled.zip ...
解压缩更新...
无法安装更新,因为我们无法复制 一些文件。这通常是由于文件权限不一致: 可湿性粉剂管理员/包含/更新-core.php中
安装失败
我已尝试升级并获得完全许可,但没有运气:
#find . -type f -exec chmod 666 {} \;
#find . -type d -exec chmod 777 {} \;
有人有任何线索吗?我搜索了几个小时但没有运气。
答案 0 :(得分:1)
不使用777
权限! Wordpress仅需要755
用于目录,644
用于文件,666
用于themes
和plugins
目录&文件。为了安全起见,您可以600
向wp-config.php
提供。您可以看到file permission
我遇到了这个问题,这就是我解决问题的方法。
确保所有人都拥有Apache
sudo chown -R apache:apache /var/www/html/sitedir
授予适当的权限
sudo find /var/www/html/sitedir -type d -exec chmod 755 {} +
这将为755
内的所有目录授予sitedir
权限
sudo find /var/www/html/sitedir -type f -exec chmod 644 {} +
这将给所有文件644
sudo find /var/www/html/sitedir/wp-content/themes -type f -exec chmod 666 {} +
sudo find /var/www/html/sitedir/wp-content/plugins -type f -exec chmod 666 {} +
上面的这两个命令对主题和插件目录
666
权限
如果您使用selinux
sudo chcon -R system_u:object_r:httpd_sys_content_t:s0 /var/www/html/sitedir
sudo chcon -R system_u:object_r:httpd_sys_rw_content_t:s0 /var/www/html/sitedir/wp-content
上面的两个命令将改变文件和目录的上下文。如果使用的话,请重启php-fpm。
的更新:强>
如果你没有通过,直到这一点。您可能还需要为selinux设置本地策略模块。
sudo grep php-fpm /var/log/audit/audit.log | audit2allow -M mypol
sudo semodule -i mypol.pp
然后重启php-fpm。
我还在我的博客上cover this Wordpress permission issue更多细节:)
答案 1 :(得分:0)
有时某些(安全)插件似乎会干扰更新旧版WordPress。尝试停用插件并重试。
如果所有其他方法都失败了,只需通过FTP执行手动更新。
答案 2 :(得分:0)
我最终手动升级,工作顺利。