必须同步修改php的upload_max_filesize、post_max_size与nginx的client_max_body_size三处配置,缺一不可;仅改php.ini中一项会导致post请求被静默截断或在nginx层报413错误后被phpmyadmin误显为“incorrect format parameter”。
直接改对三处配置,缺一不可:php 的 upload_max_filesize 和 post_max_size、nginx 的 client_max_body_size、phpmyadmin 的上传目录配置。只改其中一项,大概率还是失败。
为什么改了 php.ini 还是报 “Incorrect format parameter”
这个错误不是文件格式问题,而是请求在抵达 phpMyAdmin 前就被拦下了。常见原因有:
- Nginx 在 PHP 之前就拒绝了大请求体,报错其实是
413 Request Entity Too Large,但被 phpMyAdmin 吞掉后显示成 “Incorrect format parameter” - 只调了
upload_max_filesize,没同步调post_max_size(它必须 ≥ 前者,否则整个 POST 数据被截断) - 改的是 CLI 版本的
php.ini(路径类似/etc/php/*/cli/php.ini),而宝塔用的是 PHP-FPM,实际生效的是/www/server/php/{版本号}/etc/php.ini
必须同步修改的三个位置
每处都要改,且顺序不能乱:
- 进宝塔 → 「软件商店」→ 找到你当前网站用的 PHP 版本 →「设置」→「配置修改」→ 修改以下四项并保存:
upload_max_filesize = 512Mpost_max_size = 512Mmax_execution_time = 3600memory_limit = 1024M
改完点右上角「重启」PHP 服务(不是重载) - 进宝塔 → 「网站」→ 找到你的 phpMyAdmin 站点(通常是子目录或二级域名)→「设置」→「配置文件」→ 在
server块内、location ~ \.php$ {上方添加:client_max_body_size 512M;
保存后点「重载配置」 - 进宝塔 → 「软件商店」→ 找到已安装的 phpMyAdmin →「设置」→「配置修改」→ 在文件末尾添加:
$cfg['UploadDir'] = 'upload';$cfg['SaveDir'] = 'save';
然后去文件管理器,进入/www/server/phpmyadmin/对应版本目录(如4.9.0.1),新建名为upload的空文件夹,权限设为755
验证是否真生效
别信界面显示的最大值,它可能只是前端提示,不反映真实限制:
- 在 phpMyAdmin 根目录建
info.php,内容为<?php phpinfo(); ?>,访问后搜索Loaded Configuration File,确认路径是你刚改的php.ini - 搜索页面里的
upload_max_filesize和post_max_size,数值必须和你填的一致 - 在终端执行:
mysql -u root -p -e "SHOW VARIABLES LIKE 'max_allowed_packet';",如果还卡在 4M,说明 MySQL 层也有瓶颈,需编辑/www/server/mysql/my.cnf,在[mysqld]下加max_allowed_packet = 512M并重启 MySQL
真正麻烦的不是改哪几行,而是改完不重启、改错文件路径、或漏掉 Nginx 那一行——这三个动作只要漏一个,上传就会静默失败。尤其是 client_max_body_size,它像一道门禁,PHP 再怎么开闸也没用。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











