Wordpress 插件更新/安装失败

Wordpress 插件更新/安装失败

我已经在网上阅读了有关此主题的各种信息。我刚刚在 Fedora 22 x64 上安装了 Wordpress。安装过程非常顺利,我可以访问网站,但根本无法更新插件。

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

1)设置所需的 FTP 服务器,并为其提供正确的登录身份验证详细信息

我开始朝这个方向努力,但当它不接受正确的凭证时,我真的遇到了障碍。

然后,在一篇旧的 Stack Overflow 帖子中,我发现

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

这两个问题都与文件系统权限问题有关。我尝试过更改 /var/www/html 的所有者。在设置过程中(我按照说明进行操作这里) 说明说将所有权和组设置为 apache:apache。它还说要更改这些目录的 SELinux 策略。我尝试将所有权更改为几个不同的东西,包括我的用户、www-data、www_data 以及人们在网络上建议的所有其他东西。然而,什么都没有改变,直到我将上面的行添加到 wp-config.php。它不再要求提供 FTP 凭据,但仍然失败,而且几乎肯定是因为权限。

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

我在这里遇到了一点障碍:我应该回溯,然后再次尝试 FTP 方向,还是有其他方法可以解决权限问题?我甚至不确定它在更新或安装插件时尝试创建哪个文件夹。我做了一个检查,sudo find / -name wordpress看看 /var/www/html 之外是否还有其他文件夹,其中唯一包含 wordpress 名称的其他文件夹是 mysql 目录。

此外,我不确定这是否是发布此帖子的正确位置,但它似乎是最合乎逻辑的(因为它与 Wordpress/Apache 服务器相关,而不仅仅是 Unix/Linux 本身),但如果我放错了,请随意移动它。

谢谢你提供的所有帮助。

编辑:还尝试将其添加 define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) ); define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) ); 到 wp-config,如 WP 网站上所建议的那样。没有用,并删除了它,也如建议的那样。还尝试更改define('FS_METHOD', 'ftpsockets');,当然它再次要求我的 FTP 凭据。我可以从我的笔记本电脑访问 FTP,但是当我从 WP 界面尝试相同的凭据时,它说无法连接。尝试将主机名更改为 localhost:22(因为当我选择 SFTP 时它没有自动更改为端口 22),尝试常规 FTP(它也暂时打开),尝试了 IP,还没有尝试 10.0.0.1 或任何本地主机 IP。真的是撞墙了。

答案1

原来是 SELinux 访问问题。我不知怎么就没注意到,因为 SELinux 故障排除程序通常会在阻止某些东西时弹出通知。我不得不进去手动检查。

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

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,他在故障排除过程中给予了我很大的帮助!

答案2

即使文件权限正确,我也经常遇到此问题。我通常解决此问题的方法是禁用所有插件/主题,然后仅更新特定插件。

相关内容