这个弹窗的根本原因:WordPress 没有权限写入网站目录,所以系统就会弹出通过 FTP 来操作文件。如果有写权限的话就会不弹窗口来。

本次使用的是 Ubuntu + Nginx+PHP 环境,安装WordPress插件时遇到的弹窗问题。100% 可以确认是目录权限问题,下面给出2 种彻底解决方法,直接复制执行就能好。
一、最快根治方案(推荐,不用装 FTP)
1. 先给 WordPress 目录正确授权(核心!)
# 把网站目录所有权给 Nginx 运行用户 www-data
sudo chown -R www-data:www-data /var/www/wordpress
# 给目录正确权限
sudo chmod -R 755 /var/www/wordpress
# 给 wp-content 单独授权(插件/主题都在这里)
sudo chmod -R 775 /var/www/wordpress/wp-content
2. 在 wp-config.php 中强制禁用 FTP(双重保险)
sudo vim /var/www/wordpress/wp-config.php
在文件任意位置(建议在 /* 好了!请停止编辑... */ 注释之前)添加这行代码:
define('FS_METHOD', 'direct');
保存退出(:wq → 回车 )
3. 重启服务生效
sudo systemctl restart nginx php8.1-fpm
二、为什么会弹出这个框?
WordPress 安装 / 更新插件、主题时,需要直接写入服务器文件:
- 如果目录权限不对(比如所有者是
root,Nginx 用的www-data没权限写) - WordPress 就会自动弹出 FTP 登录框,让你用 FTP 账号来操作
因为我之前的环境是普通用户ubuntu权限部署的 WordPress,www-data 没有写入权限,所以触发了这个弹窗。
三、如果还是不行(终极兜底方案)
1. 临时给 wp-content 完全权限(测试用)
sudo chmod -R 777 /var/www/wordpress/wp-content
⚠️ 注意:777 权限是完全开放,仅用于测试,测试完建议改回 775
2. 检查 PHP-FPM 运行用户
ps aux | grep php-fpm
确认运行用户是 www-data,如果不是,修改 /etc/php/8.1/fpm/pool.d/www.conf 里的 user = www-data 和 group = www-data,然后重启 PHP-FPM。
四、操作完验证
回到 WordPress 后台,重新安装插件:
✅ 不会再弹出 FTP 登录框
✅ 直接在线安装 / 更新插件、主题
补充说明
- 不要填 FTP 信息:因为你本地环境根本没装 FTP 服务,填了也连不上,只会报错
FS_METHOD = direct:强制 WordPress 用直接文件操作,不走 FTP,是 WordPress 官方推荐的解决方案- 权限是核心:只要
www-data有写入权限,就不会再弹这个框