先通过phpinfo()确认loaded configuration file路径,再同时修改upload_max_filesize和post_max_size为相同值(如128m),单位必须大写m,改完重启apache并验证。

改 php.ini 里的 upload_max_filesize 和 post_max_size 就能解决,但只改一个或没重启 Apache,90% 的人会失败。
怎么找到真正生效的 php.ini 文件
很多人改了文件却没效果,是因为改错了位置。XAMPP 可能加载的是另一个 php.ini,尤其当你用控制面板切换过 PHP 版本时。
- 在浏览器打开
http://localhost/dashboard/phpinfo.php(或自己建个info.php,内容为<?php phpinfo(); ?>) - 搜索
Loaded Configuration File这一行,它显示的路径才是 Apache 正在用的那个php.ini - 常见正确路径是
C:\xampp\php\php.ini,但 Windows 下可能被隐藏,建议用管理员权限的记事本打开 - 别改
php.ini-development或php.ini-production—— 它们只是模板,不被 Apache 加载
必须同时改的两个参数及其关系
upload_max_filesize 控制单个文件上限,post_max_size 控制整个 POST 请求体大小(含所有文件 + 表单字段)。后者必须 ≥ 前者,否则上传直接被 PHP 拦截,且错误提示常不明确。
- 推荐设为相同值,比如都改成
upload_max_filesize = 128M和post_max_size = 128M - 单位必须写
M(大写),不能写mb、MB或数字加空格,否则解析失败,PHP 会回退到默认值(通常是 2M) - 如果还要支持多文件并发上传,顺手检查下
max_file_uploads(默认 20),不够就调高
改完不生效?重启和验证缺一不可
修改保存后,仅重启 MySQL 或刷新页面完全无效。Apache 必须完整重启,且要确认服务确实起来了。
- 在 XAMPP 控制面板中,先点
StopApache,等状态变成“Stopped”后再点Start - 启动后访问
phpinfo()页面,再次搜索upload_max_filesize和post_max_size,确认数值已更新 - 如果值还是旧的,说明你编辑的不是
Loaded Configuration File所指的那个文件 - Windows 下有时文件被系统占用或权限不足,可尝试复制一份新
php.ini替换原文件(先备份)
超大 SQL 文件导入失败?别硬扛 phpMyAdmin
当 SQL 文件超过 100MB,即使调高了上传限制,phpMyAdmin 的 Web 界面仍可能因内存溢出、超时或前端限制卡住。这时命令行是唯一可靠路径。
- 确保 MySQL 正在运行(XAMPP 面板里显示 “Running”)
- 打开 CMD,进入
C:\xampp\mysql\bin目录:cd C:\xampp\mysql\bin - 执行导入:
mysql -u root -p mydb (<code>mydb是目标库名) - 该方式完全绕过 PHP 和 Apache,不受
upload_max_filesize限制,也更快更稳定
最容易被忽略的一点:XAMPP 控制面板右上角的 PHP 版本切换按钮,会悄悄改变 Loaded Configuration File 路径。每次切换后,都要重新确认并修改对应版本的 php.ini。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











