WordPress上传插件提示“The link you followed has expired”问题求助
WordPress插件上传报错「The link you followed has expired」排查方案
问题场景
VPS部署的WordPress(Nginx作反向代理)中,上传插件时触发「The link you followed has expired」报错。已尝试修改主题functions.php、CLI版本PHP配置、wp-config.php均无效,此前上传主题时曾配置过Nginx的client_max_body_size。
1. 核心修正:修改PHP-FPM配置文件(而非CLI版)
你之前修改的/etc/php/8.1/cli/php.ini是PHP命令行版本的配置,Nginx搭配的是PHP-FPM进程,两者不共用配置文件。找到FPM对应的配置文件:
- 常规路径:Debian/Ubuntu系为
/etc/php/8.1/fpm/php.ini,CentOS可能在/etc/php/8.1/php-fpm.d/www.conf或同目录下的独立ini文件 - 编辑文件,设置以下参数:
upload_max_filesize = 256M post_max_size = 256M max_execution_time = 300 max_input_vars = 3000 - 保存后必须重启PHP-FPM服务:
sudo systemctl restart php8.1-fpm
2. 确保Nginx的client_max_body_size全局生效
之前添加的client_max_body_size 20M;可能范围覆盖不全,或需要调整为匹配PHP的256M:
- 打开
nginx.conf或站点专属配置文件(比如/etc/nginx/sites-available/your-domain.conf) - 在
http块、server块或者处理PHP的location ~ \.php$块中添加/修改:client_max_body_size 256M; - 重启Nginx生效:
sudo systemctl restart nginx
3. 修正wp-config.php的配置位置
将自定义配置代码移到/* That's all, stop editing! Happy publishing. */这行之前,WordPress不会读取该行之后的自定义配置:
@ini_set('upload_max_filesize', '256M'); @ini_set('post_max_size', '256M'); @ini_set('max_execution_time', '300'); @ini_set('max_input_vars', 3000); define('WP_MEMORY_LIMIT', '256M'); define('FS_METHOD','direct');
4. 快速验证配置有效性
先上传一个10M以内的插件压缩包测试:
- 若能上传,说明大文件限制未解除,回头检查PHP和Nginx的配置是否写错、服务是否正常重启
- 若仍报错,检查服务器磁盘空间:
磁盘满额也会导致上传失败。df -h
5. 额外排查:主题/插件冲突
如果以上操作都无效,临时切换到WordPress默认主题(如Twenty Twenty-Four),关闭所有已激活插件后再尝试上传——个别主题的自定义函数可能覆盖了全局配置。
内容的提问来源于stack exchange,提问作者Zak
相关产品推荐
相关产品推荐

