有时我们通过wordpress的后台执行修改或删除文件(如安装删除插件或者上传删除媒体库的文件等)的时候,wordpress会出现下面的界面,要求输入FTP的用户名密码以便wordpress登录FTP来完成对文件的修改或删除操作。
有人说这是wordpress的bug,其实不然,这是因为运行wordpress的php没有修改或删除文件的权限。一般我们购买的虚拟主机都不会出现这样的问题,空间提供商会帮我们搞定这些权限问题。如果看到了这个界面,那么可能会有以下两种原因。
网站目录的文件权限属性不正确
首先我们查看站点目录的文件权限属性是不是755(drwxr-xr-x),如果不是改为755,则递归所有目录和文件都改成755。如果还是出现登陆FTP的界面,就表示文件所属用户不正确,那么尝试改为755或者777就可以了(永远都不要试图修改为777,这样会使得任何用户都有权限修改文件)。
其实网站最好将文件权限文件改为755,表示只有当前用户可以修改和删除文件,而775和777是其他用户也可以随意修改和删除我们网站的文件了。
修改文件传输属性方法:
- FTP客户端:右键网站根目录,选择“文件权限“,设置编码为755并选择递归处理子目录即可
- shell命令:到站点目录执行该命令:chmod –R 755 .
网站目录的文件所属用户不正确
当网站的所有文件和目录的文件权限属性都为755后还是出现登陆FTP的界面,不用说也是文件所属用户不正确。通常我们可以请虚拟主机供应商来帮忙修改。如果使用的是vps就需要我们自己通过putty这样的工具来登陆vps,然后到站点目录使用chown这个shell命令来修改。
如果你是使用apache,请将目录拥有者设置为 www-data 或者 apache (lamp一键安装的请设置为www-data)
chown –R www-data .
现在不论做任何操作是不是都不会出现登陆FTP的界面了,世界一下子就美好了。