Laravel 5 – Очистить кеш на сервере общедоступного хостинга

Вопрос довольно ясен.

php artisan cache:clear 

Есть ли какая-нибудь работа, чтобы очистить кеш, как мы уже использовали в CLI. Я использую знаменитый общедоступный хостинг, но, согласно моему плану, у меня нет доступа к панели управления.

В основном я хочу очистить кеш просмотров.

Я видел почти такой же вопрос , но мне это не помогает.

Заранее спасибо.

Вы можете вызвать команду Artisan вне CLI.

 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 кэшированных представлений, и они весут менее 1 Мб, а каталог моего vendor -> 40 Мб. Я не думаю, что просмотр кеша является настоящим узким местом в использовании диска и никогда не нуждался в его очистке.

Что касается кэша приложений , он хранится в каталоге storage/framework/cache , но только если вы настроили драйвер file в config/cache.php . Вы можете выбрать множество различных драйверов, таких как Redis или Memcached , для улучшения производительности в кеше на основе файлов.

Как я вижу: http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html

можно ли использовать следующий код с новыми командами четкого кэша:

 //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>'; }); 

Нет необходимости давать возможность очищать кеши всем, особенно в производственной среде, поэтому я предлагаю прокомментировать эти маршруты и, когда это необходимо, отменить комментарий и запустить маршруты.

Я надеюсь, что это помогает кому-то

Перейдите в laravelFolder/bootstrap/cache затем переименуйте config.php на все, что хотите, например. config.php_old и перезагрузите свой сайт. Это должно работать как вуду.

Счастливое кодирование …

В основном я хочу очистить кеш просмотров.

Теперь в Laravel 5.1 есть команда

 php artisan view:clear 

Конфигурационное кэширование Конфигурация laravel распространяется на десятки файлов и including каждый из них для каждого запроса – это дорогостоящий процесс. Чтобы объединить все ваши файлы конфигурации в один, используйте: 1

 php artisan config:cache 

Имейте в виду, что любые изменения в конфигурации не будут иметь никакого эффекта, как только вы его кешируете. Чтобы обновить кеш конфигурации, выполните приведенную выше команду еще раз. Если вы хотите полностью избавиться от кеша конфигурации, запустите 1

 php artisan config:clear 

Маршрутизация маршрутов Маршрутизация также является дорогостоящей задачей в laravel. Для кэширования файла route.php выполните следующую команду: 1

 php artisan route:cache 

Имейте в виду, что он не работает с закрытием. Если вы используете закрытие, это отличный шанс переместить их в контроллер, так как команда artisan будет генерировать исключение при попытке скомпилировать маршруты, привязанные к закрытию, вместо правильных методов контроллера. В то же время, что и в кэше конфигурации, никаких изменений в route.php больше не будет. Чтобы обновить кеш, выполните указанную выше команду каждый раз, когда вы делаете изменения в файле маршрутов. Чтобы полностью избавиться от кеша маршрута, выполните следующую команду: 1

 php artisan route:clear 

Оптимизация Classmap

Это не редкость для распространения проекта среднего размера на сотни файлов PHP. По мере того, как диктуют хорошие правила кодирования, у всех есть свой собственный файл. Это, конечно, не имеет недостатков. Laravel должен включать в себя десятки разных файлов для каждого запроса, что дорого стоит.

Следовательно, хороший метод оптимизации объявляет, какие файлы используются для каждого запроса (это, например, все ваши поставщики услуг, посредники и еще несколько) и объединение их только в один файл, который после этого будет загружен для каждого запроса. Это не отличается от объединения всех ваших файлов javascript в один, поэтому браузеру придется делать меньше запросов на сервер.

Дополнительные файлы компиляции (опять же: поставщики услуг, посредники и т. Д.) Должны быть объявлены вами в файле config / compile.php в файле. Как только вы разместите там все необходимое для каждого запроса, сделанного в вашем приложении, объедините их в один файл с помощью: 1

 php artisan optimize --force 

Оптимизация автозагрузки композитора

Это не только для laravel, но и для любого приложения, использующего композитор.

Сначала я объясню, как работает автозагрузка PSR-4, а затем я покажу вам, какую команду вы должны выполнить для ее оптимизации. Если вам не интересно знать, как работает композитор, я рекомендую вам перейти непосредственно к команде консоли.

Когда вы запрашиваете compsoser для класса App \ Controllers \ AuthController, он сначала ищет прямую связь в classmap. Карта классов представляет собой массив с 1-в-1 ассоциациями классов и файлов. Поскольку, конечно, вы вручную не добавляли класс Login и связанный с ним файл в classmap, композитор будет перемещаться и искать в пространствах имен. Поскольку приложение является пространством имен PSR-4, которое по умолчанию поставляется с Laravel и связано с приложением / папкой, композитор попытается преобразовать имя класса PSR-4 в имя файла с помощью основных процедур манипуляции с строкой. В конце концов, он догадывается, что App \ Controllers \ AuthController должен находиться в файле AuthController.php, который находится в папке Controllers /, которая, к счастью, находится в папке пространства имен, которая является app /.

Все это усложняет работу только с тем, что класс App \ Controllers \ AuthController существует в файле app / Controllers / AuthController.php. Для того, чтобы композитор просматривал ваше приложение и создавал прямые ассоциации классов 1 и 1, выполните следующую команду: 1

 composer dumpautoload -o 

Имейте в виду, что если вы уже запускали php artisan optimize -force, вам больше не нужно запускать этот. Поскольку команда optimize уже сообщает композитору создать оптимизированную автозагрузку.

Вы можете подключиться через FTP и очистить папку хранения \ framework \ views для laravel 5 или app \ storage \ views для laravel 4.

Вы можете сделать это, если используете Lumen из Laravel в вашем файле routes/web.php :

 use Illuminate\Support\Facades\Artisan; $app->get('/clear-cache', function () { $code = Artisan::call('cache:clear'); return 'cache cleared'; });