wordpress提示填写ftp账户连接信息解决方案
笔者的博客一直用wordpress,用起来也很方便。之前由于设置问题,笔者一直手动更新插件、主题。时间一长很多插件都需要更新,手动操作起来相当麻烦。于是试着在后台更新,却出现“执行请求动作,连接信息必需提供”这样的提示信息。要求输入ftp账户。于是google一下,发现出现这种问题的朋友还真不少,下面将笔者的解决方法细数如下,与各位网友共享。
分析:出现要求输入ftp账户连接信息的根本原因是linux的权限问题,由于执行web的账户一般是httpd用户,而用户的web文件可能存放在其他用户目录下。导致httpd用户无法顺利写入。
解决:方法有很多,如将httpd账户与web账户设为一致;或将wp-content目录的属主改为httpd账户。但是这样会出现很多安全隐患,并且会出现web账户无法删除或修改wp-content下的内容。
基于此,笔者考虑了使用ACL来解决,ACL是应用于ext2、3、4系列文件系统的一种权限扩展设置方案。在原有的user、group、other三种权限的基础上针对特定用户或组来扩展权限设置的范围。
setfacl -m -R u:httpd:rwx wp-content/ setfacl -m -R d:u:httpd:rwx wp-content/
使用setfacl命令设置wp-content文件夹为httpd用户可读写
设置完毕后,使用ll查看文件夹时会发现wp-content/ 的权限列表最后有一个”+”号
如果希望查看详细信息,使用
getfacl wp-content/
ok,设置完成,这回可以在线升级了吧?!
等等,还是提示需要输入ftp账户的信息!这个是怎么一回事?!笔者在设置完上面的步骤后,也很纳闷。只好翻开wordpress的源代码找寻答案。在wp-admin/includes/file.php 文件中有一个request_filesystem_credentials函数,
它控制着wordpress访问文件系统的方式以及认证。如果有兴趣的朋友可以详细研究一下这个函数,不过笔者现在只需要request_filesystem_credentials返回true就可以了。^_^
在网站根目录的wp-config.php中添加一行define(‘FS_METHOD’, ‘direct’);
ok!这样就万事大吉啦^_^
自从用了WP3.0以后,一直都是自动更新的。而且不用设置FTP什么的。。。
我还没有升级=_=!
现在wordpress升级很方便了~
对了,有空的话把我的友链改为“观尔腾云计算”吧,哈哈
^_^收到
在Linux的shell中输入,使用putty客户端可以登录Linux的Shell