如何有效处理XAMPP下phpMyAdmin导入文件无数据接收的问题?

2026-05-07 15:131阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计828个文字,预计阅读时间需要4分钟。

如何有效处理XAMPP下phpMyAdmin导入文件无数据接收的问题?

这个错误不是 。

确认并修改真实生效的 php.ini

很多人改了半天没用,是因为编辑了错误的 php.ini 文件。XAMPP 可能加载的是 Apache 目录下的那个,而不是 PHP 目录里的“模板”文件。

  • 访问 http://localhost/dashboard/phpinfo.php,搜索 Loaded Configuration File,记下它显示的完整路径(比如 C:\xampp\apache\bin\php.ini
  • 用管理员权限打开该文件,不要改 php\php.ini-development 或其他副本
  • 确保以下三项都存在且被取消注释(行首无分号):

upload_max_filesize = 256M post_max_size = 256M max_execution_time = 600

post_max_size 必须 ≥ upload_max_filesize,否则 POST 数据还没进 PHP 就被截断;max_execution_time 太小会导致导出/导入中途超时断连。

重启 Apache(不是 MySQL,也不是只刷新页面)

改完 php.ini 后,XAMPP 控制面板里必须点「Apache → Stop」再「Start」。只重启 MySQL、只刷新 phpMyAdmin 页面、甚至只重启整个 XAMPP 程序都不够。

立即学习“PHP免费学习笔记(深入)”;

  • 重启后务必再打开 phpinfo.php 页面,搜索确认三项值已更新
  • 如果仍显示旧值,说明你改的不是被加载的那个文件,或文件被系统只读保护(Windows 下右键文件属性 → 取消“只读”)

关掉 phpMyAdmin 导出页的「压缩」选项

即使你成功导出了大 SQL 文件,下次导入时若勾选了「gzipped」或「zipped」,phpMyAdmin 会在 PHP 层解压——这又是一次内存和时间消耗,极易触发 memory_limit 不足或超时。

  • 导出时:在 phpMyAdmin 导出页,**取消勾选「压缩」**,选「SQL」格式直出纯文本
  • 导入时:也别传 .sql.gz,传 .sql 即可
  • 如需压缩传输,用 7-Zip 等本地工具压成 ZIP,解压后再导入,不走 PHP 解压流程

超 100MB 就别硬扛,直接用 mysql 命令行导入

phpMyAdmin 是 Web 工具,本质是把整个 SQL 文件读进 PHP 内存再逐行执行。一旦文件超过 100MB 或含几百万条 INSERT,PHP 进程大概率 OOM,或被 Apache 杀掉——这时候调参数意义不大。

  • 确保 MySQL 正在运行(XAMPP 面板显示 Running)
  • 打开 CMD,执行:cd C:\xampp\mysql\bin
  • 再执行:mysql -u root -p --default-character-set=utf8mb4 your_db_name(回车后输密码)
  • 进入 MySQL 客户端后,输入:source C:/path/to/your/dump.sql(注意路径用正斜杠或双反斜杠)

命令行方式完全绕过 PHP 上传限制,也不吃内存,是真正稳定可靠的方案。唯一要注意的是:SQL 文件里不能有 CREATE DATABASEUSE 语句,否则会报错;如有,手动删掉或拆成两步执行。

本文共计828个文字,预计阅读时间需要4分钟。

如何有效处理XAMPP下phpMyAdmin导入文件无数据接收的问题?

这个错误不是 。

确认并修改真实生效的 php.ini

很多人改了半天没用,是因为编辑了错误的 php.ini 文件。XAMPP 可能加载的是 Apache 目录下的那个,而不是 PHP 目录里的“模板”文件。

  • 访问 http://localhost/dashboard/phpinfo.php,搜索 Loaded Configuration File,记下它显示的完整路径(比如 C:\xampp\apache\bin\php.ini
  • 用管理员权限打开该文件,不要改 php\php.ini-development 或其他副本
  • 确保以下三项都存在且被取消注释(行首无分号):

upload_max_filesize = 256M post_max_size = 256M max_execution_time = 600

post_max_size 必须 ≥ upload_max_filesize,否则 POST 数据还没进 PHP 就被截断;max_execution_time 太小会导致导出/导入中途超时断连。

重启 Apache(不是 MySQL,也不是只刷新页面)

改完 php.ini 后,XAMPP 控制面板里必须点「Apache → Stop」再「Start」。只重启 MySQL、只刷新 phpMyAdmin 页面、甚至只重启整个 XAMPP 程序都不够。

立即学习“PHP免费学习笔记(深入)”;

  • 重启后务必再打开 phpinfo.php 页面,搜索确认三项值已更新
  • 如果仍显示旧值,说明你改的不是被加载的那个文件,或文件被系统只读保护(Windows 下右键文件属性 → 取消“只读”)

关掉 phpMyAdmin 导出页的「压缩」选项

即使你成功导出了大 SQL 文件,下次导入时若勾选了「gzipped」或「zipped」,phpMyAdmin 会在 PHP 层解压——这又是一次内存和时间消耗,极易触发 memory_limit 不足或超时。

  • 导出时:在 phpMyAdmin 导出页,**取消勾选「压缩」**,选「SQL」格式直出纯文本
  • 导入时:也别传 .sql.gz,传 .sql 即可
  • 如需压缩传输,用 7-Zip 等本地工具压成 ZIP,解压后再导入,不走 PHP 解压流程

超 100MB 就别硬扛,直接用 mysql 命令行导入

phpMyAdmin 是 Web 工具,本质是把整个 SQL 文件读进 PHP 内存再逐行执行。一旦文件超过 100MB 或含几百万条 INSERT,PHP 进程大概率 OOM,或被 Apache 杀掉——这时候调参数意义不大。

  • 确保 MySQL 正在运行(XAMPP 面板显示 Running)
  • 打开 CMD,执行:cd C:\xampp\mysql\bin
  • 再执行:mysql -u root -p --default-character-set=utf8mb4 your_db_name(回车后输密码)
  • 进入 MySQL 客户端后,输入:source C:/path/to/your/dump.sql(注意路径用正斜杠或双反斜杠)

命令行方式完全绕过 PHP 上传限制,也不吃内存,是真正稳定可靠的方案。唯一要注意的是:SQL 文件里不能有 CREATE DATABASEUSE 语句,否则会报错;如有,手动删掉或拆成两步执行。