php 8.3.14 修改上传限制需同步调整 upload_max_filesize=100m、post_max_size=105m、memory_limit=256m,并确认生效 php.ini 路径、重启服务、验证 phpinfo 输出及 $_files['error'] 为 0。

PHP 8.3.14 中修改上传文件大小限制,关键不是只改 upload_max_filesize,而是让三个参数协同生效,并确认改对了文件、重启到位、验证无误。
确认当前生效的 php.ini 路径
PHPStudy、XAMPP 或宝塔等环境常含多个 PHP 版本,你装的是 8.3.14,但面板可能默认启用 8.1 或 8.2。别凭路径猜测——
- 在 PHPStudy 控制面板中点击「设置」→「PHP 配置文件」,它会自动打开当前启用版本(即 8.3.14)对应的
php.ini - 或新建一个
info.php,内容为<?php phpinfo(); ?>,浏览器访问后搜索 Loaded Configuration File,显示的路径才是真实生效的那个 - 如果路径里带
php-8.3.14或类似字样,说明找对了;否则请切换 PHP 版本再试
必须同步修改的三个核心参数
这三个值有大小依赖关系,单位写法也严格,缺一不可:
- upload_max_filesize = 100M:单个文件上限,比如你要传视频或大备份包
- post_max_size = 105M:整个 POST 请求体上限,必须 ≥ upload_max_filesize,多留 5M 容纳表单字段、边界符等额外开销
-
memory_limit = 256M:脚本可用内存,应明显大于
post_max_size(推荐 1.5–2 倍),否则处理大文件时(如读取、压缩、生成缩略图)容易报内存不足
注意单位规范:只认 M(大写)、K、G,不能写 "100M"(引号)、100MB(B 被忽略)、104857600(字节数易错)。
顺带调整的超时与基础项
大文件上传慢,不调时间参数,大概率卡在“连接已关闭”或 504 错误:
- max_execution_time = 300:脚本最长运行时间(秒),涵盖接收、校验、移动全过程
- max_input_time = 300:专门控制接收 POST 数据(含文件流)的最长时间,比上一项更关键
- file_uploads = On:确认未被意外关闭(默认是 On)
- upload_tmp_dir = "":留空即可,用系统默认临时目录;若自定义,请确保路径存在、可写、空间充足
保存后重启并验证是否真正生效
改完保存 php.ini,下一步不是上传测试,而是验证配置加载结果:
- 在 PHPStudy 面板中点击「重启 Apache」或「重启 Nginx + PHP-FPM」(取决于你当前用的服务组合)
- 刷新
info.php页面,搜索 upload_max_filesize 和 post_max_size,确认显示值已更新为 100M / 105M - 若仍显示旧值(如 2M 或 8M),说明你改错了文件——请回头再核对 Loaded Configuration File 路径
验证通过后,再用一个略大于原限制(如 5MB → 改完传 15MB)的文件实测上传流程,观察 $_FILES['xxx']['error'] 是否为 0。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











