正在加载...

这个问题几个月前偶就遇到过,今天一朋友升级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进程使用的默认用户来设置。

: http://www.ha97.com/2807.html

本文相关评论 - 才 7 条评论
小马哥
2010-08-18 09:14:09
Firefox 3.6.3 Firefox 3.6.3 Linux Mint 9 Linux Mint 9

我也遇到过这个问题,也是这样解决滴~

2010-08-19 11:26:21
Google Chrome 5.0.375.126 Google Chrome 5.0.375.126 GNU/Linux GNU/Linux

嗯,虽然是小问题,估计不少人遇到过~~

2010-08-31 01:37:17
Konqueror 4.5.0 Konqueror 4.5.0 GNU/Linux GNU/Linux

此文大好!

正好纠结于 wordpress 自动安装插件需要FTP、而且还老失败的问题……

其实wordpress的目录不是一定设置为 nobody,而是应当设置为 php解析器 (例如,我这边的 php-fpm)运行的用户。一般是 nobody,所以才使用你举出的命令。

2010-08-31 22:11:20
IceWeasel 3.5.11 IceWeasel 3.5.11 GNU/Linux GNU/Linux

设置为nobody比较安全,当然也可以设置为自己定义权限的特定用户~~

2010-10-28 22:35:09
Google Chrome 7.0.517.41 Google Chrome 7.0.517.41 Windows 7 Windows 7

我想的是cpanel的帐号安全是怎么设置的呢?为什么在cpanel空间里可以直接升级呢?cpanel里每个帐号的用户名可都是不同的啊。还有升级可以直接wp-config.php

define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);

2010-11-16 10:39:28
Firefox 3.6.9 Firefox 3.6.9 Red Hat Enterprise Linux 6 Red Hat Enterprise Linux 6

不好意思,偶对cpanel不熟~~

cc
2017-05-23 14:46:44
Google Chrome 58.0.3029.110 Google Chrome 58.0.3029.110 GNU/Linux x64 GNU/Linux x64

这样做就不要输入 ftp账号密码了吗