Laravel 5 - Vymazanie vyrovnávacej pamäte v zdieľanom hostingu

Otázka je celkom jasná.

php artisan cache:clear

Existuje nejaké riešenie na vymazanie vyrovnávacej pamäte, ako je uvedené vyššie, ktoré používame v CLI. Používam populárnu zdieľanú hostingovú službu, ale podľa môjho plánu nemám prístup k ovládaciemu panelu.

Chcem vymazať vyrovnávaciu pamäť zobrazení.

Videl som otázku takmer rovnakú ako táto, ale nepomohla mi.

Riešenie

Príkaz Artisan môžete vyvolať mimo CLI.

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

Oficiálnu dokumentáciu si môžete pozrieť tu http://laravel.com/docs/5.0/artisan#calling-commands-outside-of-cli


Aktualizácia

Nie je možné odstrániť vyrovnávaciu pamäť zobrazenia. Neumožňuje to ani php artisan cache:clear.

Ak naozaj chcete vymazať vyrovnávaciu pamäť pohľadu, myslím, že musíte napísať vlastný príkaz artisan a zavolať ho, ako som už povedal, alebo úplne vynechať cestu artisan a vymazať vyrovnávaciu pamäť pohľadu v nejakej triede, ktorú voláte z kontroléra alebo trasy.

Ale moja skutočná otázka znie: potrebujete naozaj vymazať vyrovnávaciu pamäť zobrazenia? V projekte, na ktorom teraz pracujem, mám takmer 100 cachovaných pohľadov a vážia menej ako 1 Mb, zatiaľ čo môj adresár vendor má > 40 Mb. Nemyslím si, že vyrovnávacia pamäť zobrazení je skutočným úzkym miestom pri využívaní disku a nikdy som nemal skutočnú potrebu ju vymazať.

Čo sa týka aplikácie cache, tá je uložená v adresári storage/framework/cache, ale len ak ste nakonfigurovali ovládač file v adresári config/cache.php. Môžete si vybrať mnoho rôznych ovládačov, napríklad Redis alebo Memcached, aby ste zlepšili výkon oproti súborovej vyrovnávacej pamäti.

Komentáre (8)

V podstate chcem vymazať vyrovnávaciu pamäť zobrazení.

V Laravel 5.1 je na to teraz príkaz

php artisan view:clear
Komentáre (0)

Môžete sa pripojiť cez FTP a vymazať priečinok storage\framework\views pre laravel 5 alebo app\storage\views pre laravel 4.

Komentáre (0)