Вопрос довольно ясный.
php artisan cache:clear
Есть ли обходной путь для очистки кеша, как указано выше, мы используем в CLI. Я использую популярную службу виртуального хостинга, но согласно моему тарифному плану у меня нет доступа к панели управления.
** Я хочу очистить кеш просмотров. **
Я видел вопрос почти такой же, но мне это не помогает.
php
laravel-5
command-line-interface
Ринто Джордж
источник
источник
Ответы:
Вы можете вызвать Artisan-команду вне CLI.
Вы можете проверить официальный документ здесь 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 , для повышения производительности по сравнению с файловым кешем.источник
cache:clear
работает с кешем приложения , к которому осуществляется доступ сCache
фасада.Я надеюсь, что это поможет кому-то
Зайдите,
laravelFolder/bootstrap/cache
затем переименуйтеconfig.php
во что угодно, например.config.php_old
и перезагрузите свой сайт. Это должно работать как вуду.Удачного кодирования ...
источник
cache
папку и.env
значение кеша по умолчанию в файле. Но после удаления всего этого снова возникает проблема .. когдаphp artisan optimize
. Наконец, это решило мою проблему, не переименовав, а изменив значение ключа в файле config.php. Спасибо @DeadGuyКак я вижу: http://itsolutionstuff.com/post/laravel-5-clear-cache-from-route-view-config-and-all-cache-data-from-applicationexample.html
можно ли использовать приведенный ниже код с новыми командами очистки кеша:
Необязательно давать возможность очищать кеши всем, особенно в производственной среде, поэтому я предлагаю прокомментировать эти маршруты и, когда это необходимо, откомментировать код и запустить маршруты.
источник
Кэширование конфигурации Конфигурация laravel распространяется на десятки файлов, и
including
каждый из них для каждого запроса - дорогостоящий процесс. Чтобы объединить все ваши файлы конфигурации в один, используйте:Имейте в виду, что любые изменения в конфигурации не будут иметь никакого эффекта после кеширования. Чтобы обновить кеш конфигурации, снова запустите указанную выше команду. Если вы хотите полностью избавиться от кеша конфигурации, запустите
Кэширование маршрутов В laravel маршрутизация - тоже дорогостоящая задача. Чтобы кэшировать файл routes.php, выполните следующую команду:
Имейте в виду, что это не работает с замыканиями. Если вы используете замыкания, это отличный шанс переместить их в контроллер, поскольку команда artisan выдаст исключение при попытке скомпилировать маршруты, которые привязаны к замыканиям, вместо правильных методов контроллера. Как и в кеше конфигурации, любые изменения в routes.php больше не будут иметь никакого эффекта. Чтобы обновить кеш, запускайте указанную выше команду каждый раз, когда вы вносите изменения в файл маршрутов. Чтобы полностью избавиться от кеша маршрута, выполните следующую команду:
Оптимизация карты классов
Не редкость, когда проект среднего размера размещается в сотнях файлов PHP. Как диктует нам хорошее кодирование, у всего есть свой файл. Это, конечно, не лишено недостатков. Laravel должен включать десятки разных файлов для каждого запроса, что требует больших затрат.
Следовательно, хороший метод оптимизации состоит в том, чтобы объявлять, какие файлы используются для каждого запроса (это, например, все ваши поставщики услуг, промежуточное программное обеспечение и некоторые другие), и объединять их только в один файл, который впоследствии будет загружаться для каждого запроса. Это не отличается от объединения всех ваших файлов javascript в один, поэтому браузеру придется делать меньше запросов к серверу.
Дополнительные файлы компиляции (опять же: поставщики услуг, промежуточное ПО и т. Д.) Должны быть объявлены вами в config / compile.php в ключе files. После того, как вы поместите туда все необходимое для каждого запроса к вашему приложению, объедините их в один файл с помощью:
Оптимизация автозагрузки композитора
Это не только для laravel, но и для любого приложения, использующего composer.
Сначала я объясню, как работает автозагрузка PSR-4, а затем покажу вам, какую команду следует выполнить для ее оптимизации. Если вам не интересно знать, как работает композитор, я рекомендую вам перейти непосредственно к консольной команде.
Когда вы спрашиваете композитора о
App\Controllers\AuthController
классе, он сначала ищет прямую связь в карте классов. Карта классов - это массив с однозначными ассоциациями классов и файлов. Поскольку, конечно же, вы не добавляли вручную класс Login и связанный с ним файл в карту классов, композитор перейдет к поиску в пространствах имен. Поскольку App является пространством имен PSR-4, которое по умолчанию поставляется с Laravel и связано сapp/
папкой, композитор попытается преобразовать имя класса PSR-4 в имя файла с помощью основных процедур обработки строк. В конце концов, он догадывается, что онApp\Controllers\AuthController
должен находиться в файле AuthController.php, который находится вControllers/
папке, которая, к счастью, должна находиться в папке пространства имен, то естьapp/
.Вся эта тяжелая работа только для того, чтобы убедиться, что
App\Controllers\AuthController
класс существует вapp/Controllers/AuthController.php
файле. Чтобы композитор сканировал все ваше приложение и создавал прямые однозначные ассоциации классов и файлов, выполните следующую команду:Имейте в виду, что если вы уже запускали php artisan optimize --force, вам больше не нужно запускать этот. Поскольку команда optimize уже сообщает композитору о необходимости создания оптимизированной автозагрузки.
источник
Этот пакет предназначен для php ^ 7.0 и ^ laravel5.5 .
Используйте этот пакет в cronjob, который я создал только для этой цели. Я тоже столкнулся с такой же ситуацией. https://packagist.org/packages/afrazahmad/clear-cached-data Установите и запустите:
и он автоматически выполнит следующие команды
Надеюсь, поможет.
Если вы хотите запускать его автоматически в определенное время, вам сначала нужно настроить crnjob. например
В функции расписания:
источник
Теперь в Laravel 5.1 есть команда для этого
источник
Вы можете подключиться через FTP и очистить
storage\framework\views
папку дляlaravel 5
илиapp\storage\views
дляlaravel 4
.источник
Чтобы очистить весь кеш за пределами CLI , сделайте следующее; У меня это работает.
источник
config:cache
очистит и кеширует конфигурацию - так что я думаю, нет необходимости добавлять обаочистит кешированные просмотры
источник
php artisan cache:clear
Спрашивается альтернатива команде . Это не очистит просматриваемый кеш, хранящийся в папке хранилища, а это именно то, что нужно.Вы можете сделать это , если вы используете
Lumen
изLaravel
на вашroutes/web.php
файл:источник
Вы также можете сделать это через маршрутизатор, аналогично ответу Франческо, но с меньшим беспорядком в конфигурации маршрутизатора.
Затем запустите их, посетив http: //myapp.test/artisan/cache-clear и т. Д. Если вам нужно добавить / отредактировать действительные команды Artisan, просто обновите массив $ validCommands.
источник
Это сработало для меня. В вашем проекте перейдите по ссылке: хранилище> структура> представления. Удалите все файлы и обновите страницу.
источник
Попробуйте это также
для cli
очистить php artisan: кеш
для использования команды ремесленника
});
[ https://www.tutsmake.com/laravel-clear-cache-using-artisan-command-cli/ visible [1 ]
источник
Несколько раз использовал эту страницу для копирования и вставки быстрых команд в composer, поэтому я написал команду, которая выполняет эти команды в одной команде artisan.
Поместить в
app\Console\Commands\Admin
папкузатем запустите команду в композиторе
php artisan traqza:clear-everything
Удачного кодирования.
Github -> https://github.com/Traqza/clear-everything
источник
Хотя я категорически не согласен с идеей запуска приложения laravel на общем хостинге (плохая идея), этот пакет, скорее всего, решит вашу проблему. Это пакет, который позволяет вам запускать некоторые ремесленные команды из Интернета. Это далеко не идеально, но может работать для некоторых сценариев использования.
https://github.com/recca0120/laravel-terminal
источник
Cache :: вровень (); https://laravel.com/docs/5.7/cache#events Эта работа в классе Handler расширяет ExceptionHandler
источник
Я считаю, что более эффективный подход к этому - использовать модуль задания cron в административной панели общего сервера для запуска команды планировщика laravel, которая, в свою очередь, вызовет настроенную команду artisan, что-то вроде этого должно выполнить задание:
При настройке планировщика в cron вы можете отредактировать метод расписания в \ App \ Console \ Kernel.php, чтобы вызвать нужную команду artisan, примерно так:
Вы всегда можете удалить строки выше после запуска команд
источник