php 8.6 中 upload_max_filesize 调整方式与低版本一致,需修改 php.ini(如 upload_max_filesize = 128m、post_max_size = 136m)、重启服务,并同步配置 nginx 的 client_max_body_size 或 apache 的 .htaccess,最后通过 phpinfo() 和实际上传验证生效。

upload_max_filesize 是 PHP 的核心运行时配置项,PHP 8.6 中的调整方式与 PHP 8.5、8.4 等版本完全一致,没有新增机制或语法变更。它仍属于 PHP_INI_SYSTEM 类型指令,即只能在服务器级配置中修改,不能通过 ini_set() 在脚本中可靠生效(尤其在 FPM、CGI 或大多数生产环境中)。
要真正调大 PHP 8.6 的文件上传限制,需按以下三类场景操作,并注意配套参数协同:
✅ 修改 php.ini(推荐,永久生效)
这是最稳定、通用的方式,适用于你有服务器管理权限的情况(如 VPS、独立主机):
- 找到 PHP 8.6 实际加载的
php.ini文件路径:
新建一个info.php,内容为<?php phpinfo(); ?>,访问后查看 “Loaded Configuration File” 行。 - 用编辑器打开该
php.ini,修改以下几项(单位支持M、G,不区分大小写):-
upload_max_filesize = 128M
(控制单个文件最大体积) -
post_max_size = 136M
(必须 ≥upload_max_filesize,建议多留 8–16MB 余量,容纳表单字段等 POST 数据) -
memory_limit = 256M
(应 ≥post_max_size × 1.5,避免解析大 POST 时内存溢出) -
max_execution_time = 600
(上传大文件耗时长,防止超时中断;设为0不推荐,存在安全隐患) -
max_input_time = 600
(同上,影响 POST 数据接收阶段)
-
- 保存后,重启对应的服务进程:
- Apache + mod_php →
sudo systemctl restart apache2 - Nginx + PHP-FPM →
sudo systemctl restart php8.6-fpm(或php-fpm8.6,依系统命名而定)
- Apache + mod_php →
⚠️ 注意:PHP 8.6 默认仍为
upload_max_filesize = 2M,不改就无法上传超过 2MB 的文件。
✅ Apache 环境下用 .htaccess(仅限模块模式)
若无法修改 php.ini(如部分共享主机),且确认 Apache 启用了 mod_php(非 FPM)并允许覆盖:
- 在网站根目录或上传目录新建/编辑
.htaccess:php_value upload_max_filesize 128M php_value post_max_size 136M
- 确保 Apache 配置中该目录的
AllowOverride包含Options和FileInfo,且未设为None。 - 无需重启服务,但若出现 500 错误,说明主机禁用了
php_value,需换其他方式。
✅ Nginx 用户必须同步设置 client_max_body_size
Nginx 在 PHP 解析前就拦截请求体,即使 PHP 配置全调高,Nginx 不放行也会直接返回 413 Request Entity Too Large:
- 编辑 Nginx 站点配置(如
/etc/nginx/sites-enabled/your-site),在server或location ~ \.php$块内添加:client_max_body_size 136M;
- 执行
sudo nginx -t && sudo systemctl reload nginx生效。
? 验证是否成功
修改后务必验证,而不是只看代码:
- 再次访问
info.php,检查以下值是否已更新:upload_max_filesizepost_max_sizememory_limit-
Loaded Configuration File是否指向你修改的那个文件(排除被额外.ini覆盖)
- 实际上传一个略大于原限制(如 3MB)的测试文件,观察
$_FILES['xxx']['error']:-
0:成功 -
1:upload_max_filesize超限 -
2:HTML 表单中<input type="hidden" name="MAX_FILE_SIZE">值太小(前端问题) -
4:根本没选文件(常被误认为配置失败)
-
不复杂但容易忽略。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











