如何在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
相关产品推荐
相关产品推荐

