2010-8
16
这个问题几个月前偶就遇到过,今天一朋友升级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进程使用的默认用户来设置。
我也遇到过这个问题,也是这样解决滴~
嗯,虽然是小问题,估计不少人遇到过~~
此文大好!
正好纠结于 wordpress 自动安装插件需要FTP、而且还老失败的问题……
其实wordpress的目录不是一定设置为 nobody,而是应当设置为 php解析器 (例如,我这边的 php-fpm)运行的用户。一般是 nobody,所以才使用你举出的命令。
设置为nobody比较安全,当然也可以设置为自己定义权限的特定用户~~
我想的是cpanel的帐号安全是怎么设置的呢?为什么在cpanel空间里可以直接升级呢?cpanel里每个帐号的用户名可都是不同的啊。还有升级可以直接wp-config.php
define(“FS_METHOD”, “direct”);
define(“FS_CHMOD_DIR”, 0777);
define(“FS_CHMOD_FILE”, 0777);
不好意思,偶对cpanel不熟~~
这样做就不要输入 ftp账号密码了吗