phpmyadmin 不控制上传大小,需修改 php 的 upload_max_filesize、post_max_size 和 max_execution_time 三项配置,并在 nginx 中同步设置 client_max_body_size;改错 php.ini 或未重启服务是常见失败原因。
phpmyadmin 本身不控制上传文件大小,真正起作用的是 php 的配置。改错地方会导致反复失败。
为什么改了 phpMyAdmin 配置没用?
phpMyAdmin 只是前端界面,upload_max_filesize、post_max_size、max_execution_time 这些全由 PHP 解释器决定。你在 config.inc.php 里调 $cfg['UploadDir'] 或 $cfg['SaveDir'],只影响导入导出的临时目录,和文件大小上限无关。
必须修改的三个 PHP 配置项
找到你当前生效的 php.ini(运行 php --ini 或在 phpMyAdmin 首页点“PHP 版本”查看路径),改以下三项:
-
upload_max_filesize:设为你需要的最大单文件体积,比如256M -
post_max_size:必须 ≥upload_max_filesize,建议设为256M或300M(否则 POST 数据截断,页面直接白屏或报 413) -
max_execution_time:大文件解析耗时长,设为600(10 分钟)或更高,避免超时中断
改完重启 Web 服务:sudo systemctl restart apache2(Apache)或 sudo systemctl restart php-fpm nginx(Nginx + PHP-FPM)。
Nginx 用户额外注意 client_max_body_size
如果用 Nginx,光改 PHP 不够——它会先拦截超大请求体。在 nginx.conf 或站点配置的 server 块里加:
client_max_body_size 256M;
这个值要 ≥ post_max_size,否则请求根本到不了 PHP 层,浏览器收到的是 413 Request Entity Too Large。
验证是否生效的最快方法
别依赖 phpMyAdmin 页面右下角显示的“最大上传文件大小”,它有时缓存旧值。最可靠方式是:
- 新建一个 PHP 文件(如
info.php),内容为<?php phpinfo(); ?>,访问它,搜索upload_max_filesize和post_max_size确认值已更新 - 上传一个略小于设定值的 SQL 文件测试;若仍失败,看 PHP 错误日志(
/var/log/php_errors.log或 Nginx error_log)里有没有upload_max_filesize被触发的提示
常见陷阱:改了错误的 php.ini(比如 CLI 版本的)、没重启服务、Nginx 和 PHP 配置不一致、SELinux 或防火墙限制了临时上传目录写权限——这些比改参数更常导致失败。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











