XAMPP修改PHP内存限制 XAMPP调整upload_max_filesize
发布:smiling 来源: PHP粉丝网 添加日期:2026-05-23 18:34:03 浏览: 评论:0
PHP配置修改后不生效,核心在于精准定位Apache实际加载的php.ini路径(通过phpinfo()确认)、同步调整upload_max_filesize与post_max_size、并重启Apache服务;超大SQL文件应优先使用mysql命令行导入。
直接改 php.ini 里的 memory_limit 和 upload_max_filesize 是对的,但改完不生效、改了还是报错、或者导入中途崩溃——这些都不是配置写错了,而是没踩准生效条件或忽略了协同参数。
确认你改的是 Apache 实际加载的 php.ini
很多人在 C:\xampp\php\php.ini 里改了,但 Apache 加载的其实是另一个文件。XAMPP 控制面板右上角可能切换过 PHP 版本(比如 PHP 8.2 → 8.3),每个版本对应独立的 php.ini;Windows 下还可能因权限问题被系统重定向到临时路径。
访问 http://localhost/dashboard/phpinfo.php,搜索 Loaded Configuration File,看它指向哪条完整路径
如果显示的是 C:\xampp\php\php.ini,但你编辑的是 php.ini-development 或桌面副本,就白改了
用管理员权限打开记事本(或 VS Code)再编辑,避免 Windows 隐藏写保护
upload_max_filesize 和 post_max_size 必须同步调大
upload_max_filesize 只管单个文件大小,post_max_size 管整个 POST 请求体(含文件 + 表单字段)。只要后者更小,上传就会在 PHP 解析层就被拦截,错误提示还是“文件超出上传大小限制”。
设成相同值最稳妥,例如:upload_max_filesize = 512M 和 post_max_size = 512M
不要只改一个:比如把 upload_max_filesize 改到 1G,但 post_max_size 还是默认 8M,照样失败
单位必须带字母(M 或 G),写成 512 或 512m(小写)可能被忽略
光调上传限制还不够:memory_limit 和 max_execution_time 得跟上
phpMyAdmin 导入时会把整个 SQL 文件读进内存解析,再逐行执行。哪怕上传成功,脚本也可能在执行阶段因超时或内存溢出中断,表现为白屏、500 错误或 “Script timeout passed”。
memory_limit 至少设为 512M,超大文件建议 1024M
max_execution_time = 600(10 分钟),避免脚本被强制终止
max_input_time = 600,防止 POST 数据解析阶段超时(尤其网络慢或文件含 BLOB)
改完这四行后,**必须重启 Apache**——只点 MySQL 的 Restart 没用
超过 200MB 的 SQL 文件,别硬扛 phpMyAdmin
phpMyAdmin 是 Web 界面工具,不是数据库导入引擎。它把 SQL 全加载进 PHP 进程再模拟执行,遇到百万级 INSERT 或复杂视图定义极易崩溃,即使所有 PHP 参数都拉满也救不了。
优先用命令行:mysql -u root -p mydb < C:\backup\dump.sql
确保 MySQL 正在运行,终端进入 C:\xampp\mysql\bin 目录再执行
如果提示 mysql 不是内部命令,就把该路径加进系统 PATH,或直接在该目录下开 CMD
这条命令完全绕过 PHP,不受任何 upload_max_filesize 或超时限制,也快得多
真正容易被忽略的点是:Apache 加载的 php.ini 路径、post_max_size 与 upload_max_filesize 的协同关系、以及 phpMyAdmin 自身的架构瓶颈——它不是为导入几百 MB 数据设计的。命令行才是 XAMPP 下处理大 SQL 文件的默认路径,不是备选方案。
Tags: XAMPP修改PHP内存限制 upload_max_filesize
推荐文章
- XAMPP修改PHP内存限制 XAMPP调整upload_max_filesize
- XAMPP配置Apache请求头限制 XAMPP LimitRequestFieldSize
- PHP8.1如何调用IntlMessageFormat_PHP8.1国
- phpEnv配置数据库远程访问 phpEnv开启MySQ
- PHP字符串怎么拼接_点号连接符与双引号解析
- phpEnv怎么解决MySQL启动找不到文件 phpEn
- PHP字符串拼接如何防止变量覆盖_PHP避坑指
- 如何在 PHP 中高效判断输入数字区间与预
- phpEnv MySQL设置最大包大小 phpEnv解决
- phpEnv如何开启MySQL远程访问 phpEnv数据
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)
