WordPress的插件更新/安装失败

我一直在阅读关于这个主题的各种信息。 我刚刚在我的Fedora 22盒子x64上安装了Wordpress。 安装完成后,我可以访问该网站,但无法更新插件。

到目前为止,我看到了两个不同的方向:

1)build立它所要求的FTP服务器,给它正确的loginvalidation细节

我开始朝这个方向前进,但是当它不接受适当的证书时,真的碰到了一堵砖墙。

然后,在一个旧的堆栈溢出后,我发现

2)添加define('FS_METHOD', 'direct'); 到wp-config.php

这两个问题都是围绕文件系统权限问题。 我试过改变/ var / www / html的所有者。 在安装过程中(我按照这里的说明)指示说将所有权和组设置为apache:apache。 它还表示要改变这些目录的SELinux策略。 我已经尝试将所有权更改为几个不同的东西,包括我的用户,www-data,www_data以及人们在networking上提供的所有其他内容。 然而,没有任何改变,直到我把上面的行添加到wp-config.php。 它不再要求FTP凭据,但它仍然失败,并且它仍然几乎肯定是因为权限。

许多文章说,将所有权更改为运行php或php-fpm进程的用户 – 但是这些文件没有运行! 尝试ps aux | grep php ps aux | grep php和也尝试与sudo,但唯一的结果显示的是寻找PHP的grep过程。

我在这里有一个障碍:我应该回溯,再次尝试FTP方向,还是有另一种方法来解决权限问题? 我甚至不知道在更新或安装插件时要创build哪个文件夹。 我做了一个sudo find / -name wordpress来查看/ var / www / html之外是否有其他文件夹,其中只有其他文件夹名称是mysql目录。

另外,我不确定这是不是这个post的正确位置,但它似乎是最合乎逻辑的(因为它与Wordpress / Apache服务器有关,而不仅仅是Unix / Linux本身),但是可以随意移动它我把它放错了。

谢谢你提供的所有帮助。

编辑:也尝试添加此define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) ); define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) ); 到wp-config,如WP网站上推荐的那样。 没有工作,并删除它,也build议。 还尝试改变define('FS_METHOD', 'ftpsockets'); 当然这是要求我的FTP信誉再次。 我可以从我的笔记本电脑访问FTP,但是当我从WP界面尝试这些相同的凭据时,它说它无法连接。 尝试改变主机名到本地主机:22(因为它没有自动改变到端口22,当我selectSFTP),尝试普通FTP(这也是暂时打开),尝试IP,没有尝试10.0.0.1或任何本地主机IP是。 真的把我的头撞在谚语的墙上。

原来是一个SELinux访问问题。 我不知何故错过了它,因为SELinux Troubleshooter通常会在阻塞的情况下popup通知。 我不得不进去手动检查。

问题发生是因为教程中的这个命令不正确:

chcon -Rt httpd_sys_content_t /var/www/html

它应该是

chcon -Rt httpd_sys_rw_content_t /var/www/html

改变,立即解决它! 这是与

define('FS_METHOD', 'direct');

仍然在wp-config.php中。

非常感谢s1lv3r,他帮助我通过故障排除过程!

即使使用正确的文件权限,我也经常遇到这个问题。 通常解决这个问题的解决scheme是简单地禁用所有的插件/主题,只更新一个特定的插件。