wordpress在后台删除插件或主题时因为操作权限不够会出现弹窗需要输入ftp信息,这时我们应该怎么办?
简单来说:WordPress 尝试写入文件,但发现执行网页脚本的那个“人”(通常是 www-data 或 apache 用户)对这些文件没有所有权,或者没有足够的权限。
以下是解决这个问题的几种有效方法:
方法一:修改文件所有者(最推荐)
权限设为 775,但如果文件的所有者是 root 或你的个人账号,而运行 Web 服务的用户是 www-data,WordPress 依然可能觉得权限不够。
你需要将整个 WordPress 目录的所有权交给 Web 服务器用户。在终端执行:
# 假设你的 Web 用户是 www-data,路径是 /var/www/html sudo chown -R www-data:www-data /var/www/html
注:请根据你的服务器环境(Nginx/Apache)确认用户名,有的可能是 apache 或 nginx。
方法二:在 wp-config.php 中强制开启直接写入
如果你不想折腾用户所有权,可以告诉 WordPress 强制使用“直接写入”模式,跳过 FTP 检查。
打开网站根目录下的 wp-config.php 文件。
在 /* That's all, stop editing! Happy publishing. */ 这一行之前,添加以下代码:
define('FS_METHOD', 'direct');方法三:检查权限细节
虽然你设了 775,但请确保权限已经递归应用到了子目录和文件。
文件夹一般建议:755 或 775
文件一般建议:644 或 664
你可以尝试运行以下命令来修正:
# 修改所有目录为 755
find /path/to/your/site -type d -exec chmod 755 {} \;
# 修改所有文件为 644
find /path/to/your/site -type f -exec chmod 644 {} \;为什么会发生这种情况?
WordPress 有一套逻辑来检测环境:它会尝试创建一个临时文件,然后检查这个临时文件的 UID(用户ID) 是否与当前运行脚本的进程 UID 一致。如果不一致,它为了安全起见,会认为自己没有权限直接操作文件系统,从而要求你提供 FTP 信息。
总结建议:先尝试 方法二(修改 wp-config.php),这通常是解决该问题最快的方式。如果之后上传图片还是报错,再配合执行 方法一 的 chown 命令。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。