如何修改"The uploaded file exceeds the upload_max_filesize directive in php.ini"报错提示
PHP文件上传大小超限默认提示文本修改位置汇总
该提示没有统一的固定存放位置,取决于你使用的服务端运行环境、上层框架/业务程序的处理逻辑,以下是从底层到上层的排查修改路径:
1. 服务器前置网关/中间件层
如果使用Nginx作为Web服务或反向代理,触发client_max_body_size限制时会返回默认的413错误提示,修改方式如下:
- 找到对应站点的Nginx配置块,自定义413错误页指向你写好的自定义提示页面,配置示例:
server { # 其他原有配置保留 error_page 413 /custom_upload_limit_tip.html; location = /custom_upload_limit_tip.html { root /path/to/your/custom/page/directory; # 替换为你自定义页面的存放目录 internal; } }
- 修改完成后执行
nginx -s reload重载配置即可生效。
2. PHP运行时层
如果确认请求已经到达PHP服务,触发upload_max_filesize/post_max_size限制抛出的默认提示,可通过自定义PHP错误处理函数捕获对应错误,替换提示内容:
- 将以下代码放在项目入口文件的最顶部:
<?php set_error_handler(function($errno, $errstr) { // 匹配上传大小超限的默认错误特征 if (str_contains($errstr, 'upload_max_filesize') || str_contains($errstr, 'post_max_size')) { // 这里替换为你想要展示的自定义提示内容 echo '<p>你上传的文件大小超出系统允许的上限,请调整后重新上传</p>'; exit; } // 其他类型错误走默认处理逻辑 return false; });
- 若使用PHP8以下版本,将代码中的
str_contains判断替换为strpos($errstr, 'upload_max_filesize') !== false即可兼容。
3. 上层应用/框架层
如果上述位置都没有匹配到,说明该提示是你使用的CMS、开发框架或者自研业务代码中硬编码的内容:
- 重点推荐:直接全局搜索项目代码中现有提示字符串的片段,比如你当前看到的提示包含「generic message appears whenever you lower the upload file size」,直接搜索其中连续的10-20个字符,就能快速定位到写死这段文字的代码位置,直接修改即可。
- 如果你使用的是成熟的第三方建站系统,也可以先检查后台的公共提示、错误信息配置模块,部分系统会把这类通用提示放在配置项中统一管理。
内容的提问来源于stack exchange,提问作者ConfusedUser
相关产品推荐
相关产品推荐

