今天在部署一个wordpress网站时,遇到了一个问题:“要执行请求的操作,WordPress需要访问您网页服务器的权限。请输入您的FTP登录凭据以继续。如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商。”我在百度上找到了几个解决方法,因为我使用的是VPS,所以选择了第二个方法来解决这个问题。在这里记录一下解决过程。
【问题已解决!】WordPress需要访问您网页服务器的权限问题
解决WordPress安装、删除主题或插件时需要FTP用户名和密码的问题
当在VPS上安装WordPress后,在后台进行自动升级、更新或删除主题和插件时,可能会遇到需要输入FTP账户信息的提示。即使正确输入FTP用户名和密码,也无法完成升级。这是由服务器端权限设置引起的问题,而非用户问题。如果你是管理员,也遇到了这个问题,下面提供几种方法供大家参考:
一、如果使用虚拟主机 方法1: 在wp-config.php文件中加入以下代码:
define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777);
方法2: 将以下代码复制到wp-config.php文件中的?>之前:
/** Override default file permissions */ if (is_admin()) { add_filter('filesystem_method', create_function('$a', 'return "direct";')); define('FS_CHMOD_DIR', 0751); }
方法3: 在修改FTP相关信息之后,将以下代码复制到wp-config.php文件的?>之前:
//*added ftp login credentials to avoid the annoying prompt asking for login info every time I wanted to upgrade a plugin* define('FTP_HOST', 'ftp.yoursite.com'); define('FTP_USER', 'Your_FTP_Username'); define('FTP_PASS', 'Your_FTP_password'); //*If you can use an SSL connection set this to true* define('FTP_SSL', true);
二、如果使用独立服务器或VPS,可以修改网站所在目录属性:
chmod -R 755 /home/wwwroot chown -R www /home/wwwroot
实际上,这个问题的根本原因在于Apache/Nginx的执行身份非文件属主身份。
解决方法:
假设你的WordPress安装目录为/home/wwwroot/wordpress
执行:
chown -R www /home/wwwroot/wordpress
执行上面的命令将/home/wwwroot/wordpress下所有文件的属主改为www。
将“www”替换为你自己的FTP用户名,“/home/wwwroot/wordpress”替换为你自己的WordPress安装目录。
这样就可以解决自动更新必须填FTP的问题。
注意:
- 必须在将WordPress程序文件上传到空间后再执行该命令,顺序不能颠倒;
- 添加完虚拟主机后,也必须在将WordPress程序文件上传到空间后,再执行该命令才有效!
如果遇到这个问题,不仅后台无法安装插件或主题,在FTP的WordPress目录下也无法上传文件