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

Heroku部署的Laravel应用设置upload_max_filesize不生效求助

Heroku Laravel 应用自定义PHP配置生效方案
  • 优先使用.user.ini做目录级配置
    把需要自定义的配置项写在Laravel项目的public/目录下的.user.ini文件中(文件不存在就手动新建),PHP运行时会自动识别该目录下的配置,无需修改服务器规则。示例配置:
    post_max_size = 32M
    upload_max_filesize = 32M
    memory_limit = 256M
    max_execution_time = 60
    
  • 全局生效配置使用conf.d目录
    要是需要全局生效的配置,在项目根目录新建conf.d/文件夹,在里面新建任意以.ini为后缀的配置文件(比如custom.ini),写入配置项即可,Heroku PHP buildpack会在dyno启动时自动加载该目录下的所有ini配置,优先级高于系统默认配置。
  • 排查ini_set失效问题
    部分PHP配置属于PHP_INI_SYSTEM或PHP_INI_PERDIR级别,不允许在应用代码中通过ini_set()动态修改,比如上传大小限制、基础目录限制等,修改前可先查询对应配置的可修改范围,这类配置必须通过上面两种静态配置方式修改。
  • 验证配置是否生效
    不要仅依赖phpinfo()输出,建议在Laravel中新增测试路由打印实际配置值,避免缓存干扰:
    Route::get('/check-ini', function () {
        return ini_get('需要验证的配置项名称');
    });
    
  • 常见踩坑排查
    • 所有自定义配置文件必须加入git追踪,不能写到.gitignore规则里,否则部署时不会推送到Heroku
    • 修改配置后必须执行git commit再执行git push heroku 你的分支名,仅重启dyno不会加载新配置,必须重新推送触发buildpack构建流程
    • 如果你使用了多个buildpack,要确保PHP buildpack的排序在最前,避免配置加载逻辑被其他buildpack覆盖

内容的提问来源于stack exchange,提问作者myestery

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:39:04