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 a 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安装目。
如果安装的是lnmp一键安装包,那可以使用。授权组来解决。
chown -R www /home/wwwroot/itune.biz (修改成网站域名目录)
这样就可以解决自动更新必须填FTP的问题。
注意:1,必须是把wordpress程序文件上传到空间以后再执行该命令,顺序不能颠倒;
2,添加完虚拟主机以后,也必须把wordpress程序文件上传到空间以后,再执行该命令才有效!
若出现了这个问题,不仅后台安装不了插件或主题,在ftp的wordpress目录下也是上传不了文件的,(折磨了我很久。。。)