Laravel 5 – 清除共享主机服务器中的caching

这个问题很清楚。

php artisan cache:clear 

是否有任何解决方法来清除上面我们在CLI中使用的caching。 我正在使用着名的共享托pipe服务,但根据我的计划,我没有控制面板访问权限。

基本上我想清除意见caching。

我看到一个几乎像这样的问题 ,但它并没有帮助我。

提前致谢。

您可以在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


更新

没有办法删除视图caching。 无论是php artisan cache:clear做到这一点。

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

但是,我真正的问题是你真的需要清除视图caching ? 在我现在正在开发的一个项目中,我有近100个caching视图,它们的重量低于1Mb,而我的vendor目录是> 40 Mb。 我不认为视图caching是一个真正的磁盘使用瓶颈,从来没有真正的需要清除它。

至于应用程序caching ,它存储在storage/framework/cache目录中,但只有在config/cache.phpconfiguration了file驱动程序。 您可以select许多不同的驱动程序,例如RedisMemcached ,以提高基于文件caching的性能。

正如我所见: http : //itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html

是否有可能使用新的清除caching命令下面的代码:

 //Clear Cache facade value: Route::get('/clear-cache', function() { $exitCode = Artisan::call('cache:clear'); return '<h1>Cache facade value cleared</h1>'; }); //Reoptimized class loader: Route::get('/optimize', function() { $exitCode = Artisan::call('optimize'); return '<h1>Reoptimized class loader</h1>'; }); //Route cache: Route::get('/route-cache', function() { $exitCode = Artisan::call('route:cache'); return '<h1>Routes cached</h1>'; }); //Clear Route cache: Route::get('/route-clear', function() { $exitCode = Artisan::call('route:clear'); return '<h1>Route cache cleared</h1>'; }); //Clear View cache: Route::get('/view-clear', function() { $exitCode = Artisan::call('view:clear'); return '<h1>View cache cleared</h1>'; }); //Clear Config cache: Route::get('/config-cache', function() { $exitCode = Artisan::call('config:cache'); return '<h1>Clear Config cleared</h1>'; }); 

没有必要给每个人都清除caching,尤其是在生产环境中,所以我build议对这些路由进行评论,并在需要时对代码进行解除注释并运行路由。

我希望这可以帮助别人

laravelFolder/bootstrap/cache然后重命名config.php任何你想要的,例如。 config.php_old并重新加载您的网站。 这应该像巫术一样工作。

快乐编码

基本上我想清除意见caching。

现在Laravel 5.1有一个命令

 php artisan view:clear 

configurationcaching laravelconfiguration分布在数十个文件中,每个请求including每一个文件都是一个代价高昂的过程。 要将所有configuration文件合并为一个,请使用:1

 php artisan config:cache 

请记住,对caching进行的任何更改都不会产生任何影响。 要刷新configurationcaching,请再次运行上述命令。 如果你想完全摆脱configurationcaching,运行1

 php artisan config:clear 

路由caching路由在laravel中也是一项昂贵的任务。 要cachingroutes.php文件,请运行以下命令:1

 php artisan route:cache 

请注意,它不适用于closures。 如果你正在使用闭包,这是一个很好的机会将它们移动到控制器中,因为当尝试编译绑定到闭包的路由而不是正确的控制器方法时,artisan命令将引发exception。 与configurationcaching一样,对routes.php所做的任何更改都不会有任何效果。 要刷新caching,请每次更改路由文件时运行上述命令。 要彻底摆脱路由caching,请运行以下命令:1

 php artisan route:clear 

Classmap优化

中等规模的项目遍布数百个PHP文件并不罕见。 由于良好的编码行为决定着我们,所有的东西都有它自己的文件。 当然,这并不是没有缺点。 Laravel必须为每个请求包含数十个不同的文件,这是一件昂贵的事情。

因此,一个好的优化方法是声明哪些文件用于每个请求(例如,这是所有的服务提供商,中间件和更多),并将它们合并到一个文件中,然后将其加载到每个请求中。 这与将所有JavaScript文件合并为一个文件并没有什么不同,所以浏览器将不得不减less对服务器的请求。

额外的编译文件(再次:服务提供者,中间件等)应该由你在config / compile.php文件中声明。 一旦你把所有对你的应用程序提出的请求都放在那里,把它们连接成一个文件:1

 php artisan optimize --force 

优化composer php自动加载

这不仅是为了laravel,而且是任何使用composer php的应用程序。

我将首先解释PSR-4自动加载是如何工作的,然后我会告诉你应该运行什么命令来优化它。 如果你不知道composer php是如何工作的,我build议你直接跳到控制台命令。

当您向App \ Controllers \ AuthController类请求compsoser时,它首先在classmap中search直接关联。 该类图是一个包含1对1的类和文件关联的数组。 因为当然,您没有手动将Login类及其相关文件添加到classmap中,所以composer将继续前进并在名称空间中进行search。 由于App是一个PSR-4命名空间,默认使用Laravel,并且与应用程序/文件夹相关联,所以Composer将尝试使用基本string操作过程将PSR-4类名转换为文件名。 最后,它猜测App \ Controllers \ AuthController必须位于一个AuthController.php文件中,该文件位于应用程序/文件夹中,该文件夹应该位于app /的命名空间文件夹中。

所有这些努力工作只是为了让App \ Controllers \ AuthController类存在于app / Controllers / AuthController.php文件中。 为了使composer php扫描整个应用程序并创build类和文件的直接1对1关联,请运行以下命令:1

 composer dumpautoload -o 

请记住,如果你已经运行了php artisan optimize –force,你不必再运行这个。 由于优化命令已经告诉作曲者创build一个优化的自动载入。

您可以通过FTP进行连接,清除laravel 5的storage \ framework \ views文件夹或laravel 4的app \ storage \ views。