Laravel 5 Clear Views Cache


168

Noto que las vistas de caché de Laravel se almacenan en ~/storage/framework/views.Con el tiempo, pueden ocupar mi espacio. ¿Cómo los elimino? ¿Hay algún comando que pueda? Lo intenté php artisan cache:clear,pero no está borrando el caché de vistas. Con eso, tengo que eliminar manualmente los archivos en dicha carpeta.

Además, ¿cómo desactivo el almacenamiento en caché de vistas?


3
"Horas extras, pueden comer mi espacio". Improbable. Una gran aplicación Laravel que mantengo tiene aproximadamente 300 KB de vistas en caché para aproximadamente 500 rutas. Nunca se acabará debido a las vistas en caché en cualquier servidor moderno.
ceejayoz

3
Pero el problema es que mi proveedor de alojamiento no está limitando el uso de espacio en disco. En cambio, está limitando por la cantidad de archivos que tiene. Entonces es un problema para mí.
basagabi

55
Eso es extraño, y sus cientos de archivos storage/framework/viewsno son nada más que los miles de archivos vendor. Consigue un host que no tenga limitaciones absurdas como esa. ¿Limitando por número de archivos? WTF ?!
ceejayoz

¿Podría recomendarme un excelente alojamiento para eso? Preferiblemente alojamiento compartido. No estoy seguro de si puedo compartir el nombre de mi proveedor de alojamiento actual. Sin embargo, es una gran comany.
basagabi

1
Me gustaría ir a algún lugar como Heroku si no eres demasiado técnico, o Amazon Web Services si lo eres. Si su host actual realmente limita la cantidad de archivos y no el espacio total utilizado, están locos.
ceejayoz

Respuestas:


278

Ahora hay un php artisan view:clearcomando para esta tarea desde Laravel 5.1


Es bueno saberlo. Una cosa que noté, con el tiempo, el caché bajo la carpeta de vistas se elimina. ¿Hay algo en el código que los elimine en xx días?
basagabi

Creo que ha existido un poco más que eso :)
Oddman

29

Para obtener todo el comando artesanal, escriba ...

php artisan

Si desea borrar la vista de caché, simplemente use:

php artisan view:clear

Si no sabe cómo usar un comando artesanal específico, simplemente agregue "ayuda" (ver más abajo)

php artisan help view:clear

11

por favor intente este comando a continuación:

sudo php artisan cache:clear

sudo php artisan view:clear

sudo php artisan config:cache

2
Fabricante de seguro si artisan config:cacheque todas sus .envvariables se accede a través de config(), no env(), o que va a ser nula.
FlashJordan

1
@FlashJordan Ojalá hubiera leído tu comentario antes de ejecutar config: cache. jajaja Para cualquier otra persona que ejecute config: cache tan ciegamente como yo, simplemente elimine config.php de bootstrap / cache.
Tarek Adam


6

Para responder a su pregunta adicional sobre cómo deshabilitar el almacenamiento en caché de vistas:

Puede hacer esto eliminando automáticamente los archivos en la carpeta para cada solicitud con el comando php artisan view:clearmencionado por DilipGurung. Aquí hay un ejemplo de clase de Middleware de https://stackoverflow.com/a/38598434/2311074

<?php
namespace App\Http\Middleware;

use Artisan;
use Closure;

class ClearViewCache
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (env('APP_DEBUG') || env('APP_ENV') === 'local') 
            Artisan::call('view:clear');

        return $next($request);
    }
}

Sin embargo, puede observar que Larevel volverá a compilar los archivos en la carpeta / app / storage / views siempre que el tiempo en los archivos de vistas sea anterior al tiempo en los archivos blade PHP para el diseño. Por lo tanto, realmente no puedo pensar en un escenario en el que esto sea necesario.


2

Borrar caché en Laravel (Terminal)

Borrar caché de aplicaciones

php artisan cache:clear

Borrar ruta de caché

php artisan route:clear

Borrar caché de configuración

php artisan config:clear 

Borrar archivos de vista compilados

php artisan view:clear 

Borrar caché en el navegador La mayoría de los proveedores de alojamiento compartido no proporcionan acceso SSH a los sistemas. En ese caso, puede borrar el caché de Laravel llamando a URL en el navegador. Simplemente puede colocar el siguiente código en sus rutas / web.php.

Route::get('/clear-cache', function() {
    Artisan::call('cache:clear');
    return "Cache is cleared";
});

Aquí está el enlace de recursos https://tecadmin.net/clear-cache-laravel-5/


1

use el siguiente comando en la terminal

php artisan cache:clear
php artisan route:cache 
php artisan config:cache 
php artisan view:clear

0

Aquí hay una ayuda que escribí para resolver este problema para mis proyectos. Hace que sea súper simple y fácil poder borrar todo rápidamente y con un solo comando.

https://github.com/Traqza/clear-everything


Echa un vistazo al espacio de nombres utilizado. asegúrese de que esté en la ruta correcta de la carpeta, o si la ha cambiado. asegúrese de actualizarlo en consecuencia. @samjadps
lzoesch

Actualicé el espacio de nombres de mi lado. Debería trabajar ahora para ti sin hacer nada. Solo asegúrese de que esté configurado en la carpeta consola / comandos.
lzoesch
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.