You need to enable JavaScript to run this app. 如何在Laravel 8本地服务器环境中禁用缓存?
优惠活动
大模型
产品
解决方案
定价
更多

如何在Laravel 8本地服务器环境中禁用缓存?

Laravel 8 本地环境禁用缓存操作指南

1 基础环境配置修改

修改项目根目录下的.env文件,更新以下配置项:

APP_ENV=local
APP_DEBUG=true
CACHE_DRIVER=array
SESSION_DRIVER=array
VIEW_COMPRESS=false
  • CACHE_DRIVER设为array时,缓存只会存储在进程内存中,单次请求结束后自动销毁,不会生成落地缓存文件

2 关闭Blade视图编译缓存

修改config/view.php文件,调整模板过期规则,本地环境自动禁用视图缓存:

'expire' => env('APP_ENV') === 'local' ? null : 60 * 60 * 24,

调整后Blade模板每次请求都会重新编译,代码调整后刷新页面即可生效。

3 清除已生成的缓存并禁用生产优化命令

如果之前执行过生产环境的缓存优化命令,先执行以下Artisan命令清除所有已生成的缓存:

  • 清除应用缓存:php artisan cache:clear
  • 清除配置缓存:php artisan config:clear
  • 清除路由缓存:php artisan route:clear
  • 清除视图编译缓存:php artisan view:clear
  • 清除事件缓存:php artisan event:clear

为避免本地误执行缓存生成命令,可以在app/Providers/AppServiceProvider.php的boot方法中添加限制逻辑:

public function boot()
{
    if ($this->app->environment('local')) {
        // 本地默认使用array缓存驱动
        $this->app['config']->set('cache.default', 'array');
        
        // 禁止本地执行生产环境缓存命令
        \Illuminate\Support\Facades\Artisan::command('config:cache', function () {
            $this->error('本地环境禁止执行config:cache命令');
        });
        \Illuminate\Support\Facades\Artisan::command('route:cache', function () {
            $this->error('本地环境禁止执行route:cache命令');
        });
    }
}

4 PHP层面缓存关闭(可选,代码不生效时检查)

如果修改PHP业务代码后仍长时间不生效,检查PHP是否开启了OPcache扩展,本地环境可以直接在php.ini中关闭OPcache:

opcache.enable=0
opcache.enable_cli=0

如果需要保留OPcache,调整参数让其实时验证代码变更:

opcache.validate_timestamps=1
opcache.revalidate_freq=0

内容的提问来源于stack exchange,提问作者S N Sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:48:03