Слишком много файлов кеша в системной / кеш-папке codeigniter - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть музыкальный сайт, разработанный на CodeIgniter с YouTube API без базы данных.Недавно я заметил, что в папке system/cache создается слишком много файлов.
Как я могу прекратить генерировать файлы этого кэша?Обратите внимание, что я не использую какой-либо метод кэширования.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Поместите это в ваш общий контроллер

$ this-> output-> delete_cache ();

0 голосов
/ 25 февраля 2019

system / cache вначале НЕ является каталогом кэша codeigniter по умолчанию.Я бы не стал хранить там кеш, как его основную папку.По умолчанию это приложение / кеш.

По умолчанию CI НЕ кеширует ничего.Итак, ваше приложение построено с кэшированием.Вы сказали, что не используете базу данных, так что я полагаю, что это не кэш БД.

Проверьте в вашем приложении какой-нибудь тег, например, "$ this-> load-> driver ('cache" ". Кэширование можно загрузить БЕЗдополнительные параметры, такие как $ this-> load-> driver ('cache'); ИЛИ с параметрами, такими как $ this-> load-> driver ('cache', array ('adapther' => 'xxx'));

https://www.codeigniter.com/userguide3/libraries/caching.html

Теперь в вашем приложении найдите $ this-> cache-> save OR $ this-> cache-> file-> save, если вы нашли это, это означает, что вы используете CIкэширование.

Проблема в том, что вы не можете просто удалить загрузку кэша, так как приложение инициирует объект кэша, и ваше приложение не будет работать, если вы не перепишите все места, где используется кэширование.

Теперь у вас естьЕсть несколько вариантов:

1.Просто очищайте каталог кеша с помощью некоторых скриптов через cron.

вы можете изменить права доступа к папке кэша на NON, что приведет к появлению предупреждений в ваших журналах, поэтому ведение журнала должно быть отключено.ИМХО, это не правильный путь, так как это может привести к фатальным ошибкам / пустым страницам, но это только одно из возможных решений.Если используется кэширование файлов, это не должно вызывать проблем, в то время как в других случаях это может быть.

Вы можете расширить библиотеку кэширования и просто создать пустую функцию кэширования SAVE.В этом случае ваши файлы не будут сохранены.

вы можете кэшировать в memcached, если он у вас есть на вашем сервере.Хорошо, если ваше кеширование написано как $ this-> cache-> file -> {operation}, то вам нужно обновить все это до $ this-> cache-> memcached -> {operation}.Если кеширование написано как $ this-> cache -> {operation}, вы можете просто настроить конфигурацию примерно так:

$ this-> load-> driver ('cache', array ('adapther' => 'memcached'));

и установить информацию о memcached сервере в конфигурационном файле.(config / memcached.php)

Вы сказали, что не используете какой-либо метод кэширования.Поэтому вам не следует искать код, который я поместил выше.

Последнее, о чем я могу подумать, это

$ this-> output-> cache (xxx);где ххх - время кэширования в минутах.заставляет кэшировать всю сгенерированную страницу;если вы найдете такие строки, вы можете попробовать закомментировать их и посмотреть, что произойдет

https://www.codeigniter.com/user_guide/general/caching.html

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

Если абсолютно ни один из вышеприведенных примеров не найден, вы можете использовать некоторое пользовательское кэширование make.

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...