Laravel 5 - 清理共享主机服务器的缓存

这个问题很清楚。

php artisan cache:clear

有没有什么办法可以像上面我们在CLI中使用的那样清除缓存。我使用的是流行的共享主机服务,但按照我的计划,我没有控制面板的权限。

我想清除视图缓存

我看到一个问题几乎与此相同,但它没有帮助我。

解决办法

你可以在CLI之外调用Artisan命令。

Route::get('/clear-cache', function() {
    $exitCode = Artisan::call('cache:clear');
    // return what you want
});

你可以在这里查看官方文档 http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli


更新

没有办法删除视图缓存。php artisan cache:clear也不能这样做。

如果你真的想清除视图缓存,我想你必须写你自己的artisan命令并像我之前说的那样调用它,或者完全跳过artisan路径,在你从控制器或路由调用的某个类中清除视图缓存。

但是,我真正的问题是你真的需要清除视图缓存吗?在我正在做的一个项目中,我有近100个缓存的视图,它们的重量不到1Mb,而我的vendor目录有40Mb。我不认为视图缓存是一个真正的磁盘使用瓶颈,也没有真正需要清除它。

至于应用缓存,它存储在storage/framework/cache目录下,但前提是你在config/cache.php中配置了file驱动程序。你可以选择许多不同的驱动,如RedisMemcached*,以提高基于文件的缓存的性能。

评论(8)

基本上我想清除视图缓存。

在Laravel 5.1中,现在有一个命令可以做到这一点

php artisan view:clear
评论(0)

你可以通过FTP连接并清除storage\framework\views文件夹,用于laravel 5app\storage\views用于laravel 4

评论(0)