刚换到阿里云的云服务器,当我把wordpress文件上传到网站根目录下之后,在安装插件的时候发现,提示输入FTP信息,身边朋友也有类似的问题,经过了解发现,大多的原因可以归结为网站文件的权限问题上,常见在一些VPS和主机上,独服一般不会如此。
提示输入FTP的原因大多理解为是文件对应权限的问题。因为我们在上传文件的时候,有用SSH方式直接登录root用户来进行的,有利用一些FTP方式来上传的,而这些FTP账户本身的权限就不尽相同。在网站文件的属性里可以看到,文件所属用户有是root、www、wwwroot等等一些,权限有显示664、755等。 我们需要的是最理想的文件权限为755(drwxr-xr-x),表示只有当前用户可以修改和删除文件,而775和777是其他用户也可以随意修改和删除我们网站的文件。对于所属用户,把网站根目录里的文件的所属用户默认为www即可。
一、VPS和独立服务器上的解决方法
首先,对于VPS或者独立服务器来说,可以SSH方式登录到自己的服务器,利用Putty等工具登录,利用chown语句将网站文件夹的所有者设置给服务器。
首先,对于VPS或者独立服务器来说,可以SSH方式登录到自己的服务器,利用Putty等工具登录,利用chown语句将网站文件夹的所有者设置给服务器。
chown -R www /home/wwwroot/网站目录
若是LEBScript环境的,运行以下语句,同样,注意确认你自己的服务器上的路径。
chown -R www-data /var/www/网站目录
然后修改文件的权限,推荐755,若是设置755后,还是提示FTP信息,再改成777或者775试试。
chmod -R 755 /home/wwwroot/网站目录
以上是在服务器端的解决方法,如果是虚拟主机或者以上操作不能解决请看下文。
二、虚拟主机或者以上无法解决时的解决方法
虚拟主机不能SSH自己的服务器,就只能在wordpress文件里修改了。事实证明,这个方法很奏效。测试得到,阿里云、腾讯云等国内的一些云服务器也是通过以下方法来解决的。
方法1、根目录下找到wp-config.php文件,在最后面加入下面代码。一般这个方法就能解决。
define("FS_METHOD", "direct");
define("FS_CHMOD_DIR", 0777);
define("FS_CHMOD_FILE", 0777);
方法2、将以下代码添加到wp-config.php文件中的?>之前
if(is_admin()) {
add_filter('filesystem_method',create_function('$a','return "direct";'));
define('FS_CHMOD_DIR', 0751);
}
方法3、直接将FTP信息写入wp-config.php配置文件里,并且将以下代码添加到wp-config.php文件中的?>之前。将其中的 ftp.yoursite.com、Your_FTP_Username、Your_FTP_password换成自己的信息。
define('FTP_HOST', 'ftp.yoursite.com');
define('FTP_USER', 'Your_FTP_Username');
define('FTP_PASS', 'Your_FTP_password');
define('FTP_SSL', true);
至此,在经过这些方法之后,问题肯定会得以解决的,还是不行的话,真的,换一家服务器商吧。