必须通过phpinfo()确认实际加载的php.ini路径,再同步修改upload_max_filesize、post_max_size、max_execution_time和memory_limit,并重启apache;若仍失败,应改用mysql命令行导入。

php.ini里改upload_max_filesize没用?先确认你改的是哪个文件
直接改XAMPP自带的php.ini文件不一定生效——因为PHP可能加载了另一个配置文件。执行phpinfo()页面(新建info.php,内容为<?php phpinfo(); ?>),在浏览器打开后搜索Loaded Configuration File,看到的路径才是PHP实际读取的php.ini位置。XAMPP常见路径有:C:\xampp\php\php.ini(Windows)或/Applications/XAMPP/xamppfiles/etc/php.ini(macOS),但重装或升级后可能指向php.ini-development或php.ini-production副本,务必核对。
除了upload_max_filesize,这三个参数必须同步调大
只改upload_max_filesize会导致导入中途报错或页面空白,因为PHP还有其他限制环节:
-
post_max_size:必须 ≥upload_max_filesize(建议设为4G或更大) -
max_execution_time:默认30秒根本不够,G级SQL导入常需数分钟,设为0(不限时)或至少1800(30分钟) -
memory_limit:MySQL客户端导入时PHP需缓存整个SQL内容,2G起步,否则报Allowed memory size exhausted
改完记得重启Apache服务,否则配置不加载。
XAMPP 8.0.30 是一款免费、开源的跨平台 Web 服务器集成包,专为快速搭建本地 PHP 开发环境而设计。该版本核心组件包括:Apache 2.4.56、MySQL 8.0.33、PHP 8.0.30、phpMyAdmin 5.2.1 等。它支持 Windows、Linux 和 macOS 系统,可让开发者在个人电脑上轻松模拟服务器环境,无需复杂配置即可运行 WordPress、ThinkPHP 等主流 PHP 应用。XAMPP 8.0.30 在保持兼容性的同时,优化了 PHP 8.0 的性能与
phpMyAdmin仍报错?它有自己的UploadDir和超时逻辑
即使PHP层放开限制,phpMyAdmin本身也限制单文件上传大小,默认值藏在config.inc.php里,且不响应php.ini设置:
- 检查
$cfg['UploadDir']是否启用(非空字符串),并确保该目录存在、可写 - phpMyAdmin 5.0+ 引入
$cfg['Import']['MaxExecutionTime'],需手动设为0或大数值 - 更可靠的做法是绕过Web界面:用命令行
mysql客户端导入,例如mysql -u root -p database_name
导入G级SQL时真正卡住的地方往往不是PHP
实际操作中,90%的“卡死”不是因为上传失败,而是MySQL服务端拒绝或慢得离谱:
- 检查MySQL的
max_allowed_packet(默认4M),G级SQL必须设为1G以上,修改my.ini或my.cnf中的[mysqld]段 - 禁用
autocommit和foreign_key_checks能提速数倍,可在SQL文件开头加SET autocommit=0; SET foreign_key_checks=0; - 如果SQL含大量
INSERT语句,用mysqldump --skip-extended-insert重新导出,合并多行为单条INSERT,减少网络往返
别只盯着PHP配置——MySQL服务端参数、导入方式、SQL结构本身,才是G级导入成败的关键分水岭。










