要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商。

WordPress 小智 5030℃ 0评论

本来打算升级wordpress,没想到出现了“要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商”这样的问题。
wordpress_ftp
然后查询得知:
这个界面只会出现在PHP进程不是以用户身份来运行的主机上,也就是你的服务器运行PHP的用户和WP文件夹的所有者不一样,目的就是为了安全,wordpress在升级时会创建一个临时文件看看owner是不是和当前运行的php是否一样,如果不一样,就会出现这个界面。
本人的wordpress运行目录在/usr/local/httpd-2.4.23/www/,目录和文件的所属用户和组均为httpd
许多网友分享的解决办法如下:
1. 更改wordpress运行目录的权限(755代表用户具有读写执行的权限,组或其他具有读和执行的权限,并没有写的权限)
[root@VM_112_250_centos ~]# chmod -R 755 /usr/local/httpd-2.4.23/www/
经过测试以上办法对于我来说并不好使。
2. 在wp-config.php中添加了下面的代码

define("FS_METHOD","direct");
define("FS_CHMOD_DIR",0777);
define("FS_CHMOD_FILE",0777);

以上代码相当于设置了目录和文件的777权限(777权限就是用户,组,其他均具有读写执行的权限)
关于linux权限的问题,可以查看linux文件权限详解这篇文章。
由于出现这个界面的原因是:服务器运行PHP的用户和WP文件夹的所有者不一致,把权限改为777显而易见是可以的,但是本着看问题要看透本质的原则,不能仅仅是解决问题就万事大吉了啊,况且直接设为777权限,那权限存在的意义岂不就没了啊
既然是运行PHP的用户和WP文件夹的用户不一致,在这里我们已经知道了文件和目录的用户均为httpd,那么问题就应该出在执行PHP的用户并不是httpd上
带着这个问题我们查看,web服务器的配置文件(在这里是Apache的httpd.conf,在Apache的conf目录下)和php的配置文件(php.ini)
然后在httpd.conf文件下发现了这个
apache_config_user
以上内容的默认结果是
User daemon
Group daemon

就是Apache在unix类系统默认的运行用户和组均为daemon,所以执行目录和组均为httpd,权限即使为755的/usr/local/httpd-2.4.23/www/目录自然还是会出现问题了,所以改成与目录一直的用户和组就可以了。

本文固定链接:心知博客 » 要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商。
本站内容除特别标注外均为原创,欢迎转载,但请保留出处!

喜欢 (7)
发表我的评论
取消评论
表情

请填写您的昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址