You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel PostTooLargeException问题:修改php.ini仍无法解决视频上传报错

解决Laravel始终返回PostTooLargeException的问题

兄弟,我太懂你改了半天配置还是卡在这里的崩溃感!这个PostTooLargeException的坑我也踩过,咱们一步步排查,肯定能搞定:

  • 先确认你改对了php.ini的位置:很多服务器会同时存在多个php.ini文件(比如CLI命令行用的和Web服务用的不是同一个),别瞎改!最快的方法是在Laravel里加个临时路由,输出phpinfo信息:

    Route::get('/phpinfo', function() {
        phpinfo();
    });
    

    访问这个路由后,找到Loaded Configuration File这一行,这才是你真正需要修改的php.ini文件。

  • 必须改对这三个核心PHP参数:
    打开正确的php.ini,找到以下三个参数,修改成对应的值(注意单位,M代表兆字节):

    • upload_max_filesize = 100M:和你验证规则里的max:100000(100000KB=100MB)保持一致
    • post_max_size = 120M:这个一定要比upload_max_filesize大,因为POST请求里除了视频文件,还包含其他表单数据(比如你的city字段)
    • memory_limit = 256M:给PHP足够的内存处理大文件,避免后续处理时内存不足
  • 改完配置必须重启服务:这步最容易忘!保存php.ini后,一定要重启你的Web服务器(Apache/Nginx)和PHP-FPM服务,不然新配置根本不会生效。

  • 检查Web服务器的额外限制:

    • 如果你用的是Nginx:找到站点配置文件或者nginx.conf,添加/修改client_max_body_size 120M;,然后重启Nginx
    • 如果你用的是Apache:检查配置里有没有LimitRequestBody指令,设置成足够大的值(比如104857600,对应100MB),然后重启Apache
  • 最后确认Laravel验证规则:你写的'video' => 'required|mimes:mp4,flv,wmv,avi,mov,qt|max:100000'没问题,这里的max:100000单位是KB,刚好对应100MB,和php.ini的配置匹配上就ok。

要是还是有问题,可以试试清一下Laravel的配置缓存:php artisan config:clear,不过这个概率不大,但试试也没坏处。

内容的提问来源于stack exchange,提问作者Stephany. S123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:43:21