生产环境需系统性优化性能、安全与稳定性:缓存配置/路由/视图/事件;切换redis缓存与队列驱动;关闭debug并禁用调试工具;启用composer自动加载优化及opcache。

生产环境配置不是简单改几个环境变量,而是要围绕性能、安全和稳定性系统性调整。Laravel 10 默认偏向开发友好,上线前必须做针对性优化。
缓存全部核心配置项
避免每次请求都解析 PHP 配置文件,运行以下命令生成优化后的单文件缓存:
- php artisan config:cache —— 合并所有 config/ 下的配置
- php artisan route:cache —— 编译路由为静态数组,大幅提升匹配速度
- php artisan view:cache —— 预编译 Blade 模板,跳过运行时编译开销
- php artisan event:cache —— 缓存事件与监听器映射,减少自动发现扫描
注意:这些命令在部署脚本中执行一次即可,修改配置后需重新运行;本地开发时不要启用,否则无法热更新。
切换高性能缓存与队列驱动
禁用 file 缓存和 sync 队列,改用 Redis 全栈加速:
- 在 .env 中设置:
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis - 确保 config/cache.php 和 config/queue.php 中 redis 连接指向正确 Redis 实例(如使用哨兵或集群,需额外配置)
- Redis 不仅快,还天然支持原子操作、发布订阅和自动过期,是生产首选
关闭调试与敏感信息暴露
APP_DEBUG=true 是开发利器,但在生产中等于打开后门:
- 确认 .env 中:
APP_DEBUG=false
APP_LOG_LEVEL=error - 移除或注释掉调试工具包(如 barryvdh/laravel-debugbar、spatie/laravel-ray),它们会显著拖慢响应
- 检查 config/app.php 的
debug和url配置是否与当前域名一致,避免混合内容或 CORS 问题
启用自动加载优化与 OPcache
PHP 层面的底层提速不可忽略:
- 在 composer.json 的 config 节点添加:
"optimize-autoloader": true,
"classmap-authoritative": true - 执行 composer dump-autoload -o 生成高效类映射
- 确保服务器 PHP 开启 OPcache(php.ini 中
opcache.enable=1),并设为永久启用,不依赖重启











