为什么运行在群晖 NAS 上的 WordPress 升级更新和插件都需要输入 FTP 用户名和密码?
故障描述
WordPress 没有写权限,导致无论是升级/更新 WordPress、安装/更新插件都要求输入 FTP 密码
WordPress 要求输入 FTP 的用户名密码
故障原因
因为某种神奇的原因,更新 WordPress 版本或安装插件时的用户身份是 nobody
,而 WordPress 目录权限身份是 http
,因此导致目录权限身份不符引发权限问题。
通常情况下运行 WordPress 的所有目录权限设置为 755 就够了,因为 WordPress 安装/更新插件需要 644(4+2)的权限,更新升级 WordPress 自身的话需要 7(4+2+1)权限。
所有 WordPress 的文件设置为 664 即可,例外的是:wp-config.php 应设为 600,以防其它用户读取。
所有 WordPress 的文件设置为 664 即可,例外的是:wp-config.php 应设为 600,以防其它用户读取。
解决方法
找到问题的症结后,就能对症下药了。既然更新文件时使用了奇怪的用户身份,那我们来强制 WordPress 使用 PHP 的读写身份就行了。
开启 Web station 的 zip
- 打开
Web Station
——PHP 设置
——编辑
配置文件 - 在
拓展名
里找到zip
并打钩,开启 zip 支持;
修改 wp-config.php
- 在 WordPress 的根目录下找到
wp-config.php
文件; - 在
define
这行代码最上面的新增这行代码:
define('FS_METHOD', 'direct');
这行代码告诉 WordPress 强制使用 PHP 的读写身份运行文件读写操作。就像下面这样,保存后上传到你的服务器文件里。
结束语
其实看得出来:群晖在引导用户从套件中心
安装群晖打包的 WordPress,而不想让用户在 NAS 上安装 WordPress 官方版。
群晖甚至在自己打包的 WordPress 的配置文件 config.php 中添加了禁用 WordPress 官方更新的代码。这意味着如果你选择群晖版 WordPress 就算在后台看到“更新提示”也无法升级,只能等群晖的包,然后从套件中心
来升级。
原文出处:解决群晖 Synlolgy 上 WordPress 安装更新主题插件需要 FTP 的问题 - 张林海博客