WordPress升级、安装插件模板需要填写FTP信息的解决办法

这个问题几个月前偶就遇到过,今天一朋友升级WP时遇到来问偶,所以还是写下来吧。这其实是一个小问题。WordPress自带了插件与整个版本自动升级的功能。每次安装的插件有了新版本,只要点一个链接,就自动完成下载、解压、禁用 插件、升级、重新启用这一系列步骤。用起来非常方便。

朋友的WP也安装在Linux系统上,这个问题与一个叫做“get_filesystem_method”的函数有关。找到这样一个解释:

(FTP) it only uses this when it detects that files it creates have the wrong owner name

原因是跑PHP进程的用户名和WP文件夹的所有者不同。

解决方法:分别用chown与chgrp命令更改了文件所有者,命令如下:


chown -R nobody wp的目录
chgrp -R nobody wp的目录



或者


chown -R nobody:nobody wp的目录



就是把目录下所有文件和文件夹的所有者改成叫做nobody的用户。这样WP的自动升级就能顺利进行了。

nobody用户是Linux系统默认的权限很低的访问用户,web服务建议使用nobody用户权限,比较安全。当然这个要根据你的web服务器与php进程使用的默认用户来设置。