2015年9月27日星期日

VPS上WordPress后台更新插件主题时提示输入FTP信息的解决方法

当你在Linux系统的VPS上安装完LAMP或者LNMP之后,总是会用root用户转移数据文件,然后问题就出现了。在你使用Wordpress登录后台需要更新插件或者是下载主题时,总是会提示你要输入FTP帐号和密码之类的信息,如下:

To perform the requested action, WordPress needs to access to your web server. Please enter your FTP credentials to proceed. If you do not remember your credentials, you should contact your web host.

这是由于你使用root用户转移文件后,文件的所有者和所在组就都变成了root,而Apache和Nginx只有www用户的权限,所以无法写入及更改文件,这时就会要求你提供FTP认证信息了。

解决方法很简单,将目录递归地设置所有者和所在组为www-data (nginx在config 第一句就是)即可。假设目录为 /var/www/wordpress ,具体命令如下:
chown -R www-data /var/www/wordpress
chgrp -R www-data /var/www/wordpress

[Update on 2017/08/31]
找到一个新方法,在wp-config.php中加入:
define('FS_METHOD', 'direct');
define('FS_CHMOD_DIR', 0777);
define('FS_CHMOD_FILE', 0777); 

较新的博文 较早的博文 主页