php artisan config:cache 命令将 config/ 目录下所有 php 配置文件执行后序列化为 bootstrap/cache/config.php,使 config() 调用直接读取该单文件、跳过多次 i/o 与解析;它不响应 .env 实时变化,要求环境为 production、无闭包或未加载类引用,失败常因语法错误、运行时函数调用或权限问题。

Laragon 是一个面向 Windows 的本地开发环境,集成 Apache、Nginx、MySQL、PHP 和 Redis 等组件,部署 Laravel 项目非常便捷。要为 Laravel 启用 配置缓存(config:cache),关键不在于 Laragon 本身做特殊配置,而在于确保 Laravel 运行环境满足缓存前提,并正确执行 Artisan 命令。
确认 PHP 和环境准备就绪
Laragon 默认已提供可运行的 PHP 环境,但仍需检查以下几点:
- 打开 Laragon 终端(右键 Laragon 图标 → Terminal),确认当前目录是你的 Laravel 项目根目录(含
artisan文件) - 执行
php -v确保 PHP 版本 ≥ 8.0(Laravel 10+ 推荐);执行php artisan --version验证 Laravel 命令可用 - 确保
.env文件中APP_ENV=production(生产环境才建议启用 config 缓存;开发中可设为local,但命令仍可运行) - 检查
bootstrap/cache/目录是否可写(Laragon 默认权限通常没问题;若报错“failed to open stream”,右键该文件夹 → 属性 → 安全 → 编辑权限,赋予当前用户“写入”)
执行 config:cache 命令生成缓存
在 Laragon 终端中,进入项目根目录后直接运行:
php artisan config:cache
成功后会提示 Configuration cache cleared! 和 Configuration cached successfully!,同时生成 bootstrap/cache/config.php 文件——这是一个纯 PHP 数组文件,后续所有 config() 调用都从此文件读取,跳过原始 config/*.php 和 .env 解析。
注意事项与常见问题处理
config 缓存不是“一劳永逸”,需配合规范使用:
- 修改
.env或任一config/*.php后,必须先php artisan config:clear,再php artisan config:cache,否则新配置不生效 - 缓存文件中不能含
env()、app()、闭包或未加载类(如App\Services\Helper::value()),否则命令执行失败;应把动态逻辑移出配置文件,改用运行时判断 - Laragon 使用 Apache/Nginx 作为 Web 服务器,无需重启服务——缓存生效依赖 PHP 进程重载,刷新网页即可看到效果
- 若页面报错
Class not found或Undefined variable,大概率是配置文件里调用了运行时函数;打开报错行,将其替换为静态值或移到服务提供者中处理
验证缓存是否真正生效
最直接的方式是观察行为变化:
- 临时修改
.env中的APP_NAME,刷新网页——如果页面标题没变,说明config:cache已生效(因为缓存只在生成时刻解析.env) - 删除
bootstrap/cache/config.php,再刷新——页面可能报错或显示默认名,证明 Laravel 正在回退到原始配置加载流程 - 在控制器中加一行
dd(config('app.name'));,分别在缓存前后执行,对比输出是否一致且稳定











