Максимальное количество индексных дескрипторов

Fatal error Call to a member function get() on a non-object in

08.03.2016
40 Репосты 2,112 Просмотры
2 Comments

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

Если объяснять просто: индексный дескриптор – это описатель файла, он содержит все необходимые для работы с файлом служебные атрибуты.
Через индексный дескриптор осуществляется доступ к содержимому файлов. Более детально и технически об этом написано на wiki. Можно сказать, что чем больше количество любых файлов находиться на хостинге, тем больше расход лимита индексных дескрипторов.

Дело в том, что на хостингах зачастую ограничивают допустимое значение индексных дескрипторов в соответствии с тарифным планом. Не путайте этот параметр с объемом дискового пространства, который обычно указывают в характеристиках тарифного плана.

В cPanel Accelerated переполнение индексных дескрипторов выглядит так (красный индикатор):

Максимальное количество индексных дескрипторов

Максимальное количество индексных дескрипторов

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

Вы можете наблюдать различные ошибки:
Fatal error Call to a member function get() on a non-object in

Fatal error Call to a member function get() on a non-object in

Fatal error Call to a member function get() on a non-object in

В каждом конкретном случае необходимо найти решение данной проблемы, но в основном все сводится к двум простым действиям (которые можно реализовать по разному):

1) Поиск и удаление мусорных файлов
Важно понимать, что находиться в папках вашего сайта на хостинге. За продолжительный период работы сайта в «закромах» сайта скапливается множества «мусорных» файлов – временные файлы, остаточные файлы от удаленных расширений, забытые архивы, дубли картинок и т.д. У каждого движка свои особенности «складирования» подобных файлов, так же нужно учитывать особенности вашего хостера.

Поиск подобных файлов удобно производить из панели управления хостинга в «диспетчере файлов» обращая внимания на количество файлов во всех доступных папках (так же можно запросить эту информацию у техподдержки хостинга).

В зависимости от найденного мусора, принимаем действия по его устранению, производим настройку по предотвращения его образования.

Перед любым действием рекомендуется сделать резервную копию проекта.

В моем примере, большое количество файлов находилось в двух папках:
/image/cache/ – Папка кэша движка OpenCart.
/.cagefs/tmp/ – Каталог для хранения кэш файлов акселератора PHP.

Для уменьшения количество созданных копий изображений в папке /cache/ движка OpenCart можно изменить количество разных изображений в панели управления по пути – Система > Настройки [ Изменить ] > Изображения (Правки нужно вносить в соответствии с вашей темой).

Оптимизация изображений в OpenCart

Оптимизация изображений в OpenCart

После сохранения настроек, можно удалить все файлы в папке /image/cache/ – они снова создадутся, но уже с новыми размерами и в значительно меньшем количестве т.к. несколько параметров теперь имеют одинаковый размер.

Папку /.cagefs/tmp/ – Особенность конкретного хостинга, можно просто отчистить от всех старых файлов.

После настройки и удаления, количество индексных дескрипторов значительно сократилось:

Максимальное количество индексных дескрипторов

Максимальное количество индексных дескрипторов – Решение

2) Расширение тарифного плана хостинга (обычно хостер предлагает именно этот вариант), но это скорее отложит проблему на неопределенный срок. Каждый web-проект требует индивидуальное количество ресурсов, в том числе и параметр количества индексных дескрипторов, необходимо учитывать это параметр при выборе тарифного плана.

Возможно стоит задуматься о выборе другого тарифного плана или хостинга. Или настроить задачу на автоматическое удаление мусорных файлов.

Теперь столкнувшись с проблемой «Максимального количества индексных дескрипторов», восстановить нормальную работу сайта для вас не составит труда. Сталкивались ли вы с подобной проблемой и как ее решали?

интересные посты

Создать сайт для бизнеса уже недостаточно для успеха
Маркетинг
600 просмотры
Маркетинг
600 просмотры

Создать сайт для бизнеса уже недостаточно для успеха

YouKit - 20.06.2018

В настоящее время сделать себе сайт не составляет большой сложности. Интернет предлагает множество инструментов под любой уровень знаний. Конструкторы, готовые…

Как подключить Яндекс кассу на сайт с 54-Ф3
Разработка
3102 просмотры
Разработка
3102 просмотры

Как подключить Яндекс кассу на сайт с 54-Ф3

YouKit - 07.09.2017

Яндекс.Касса это готовое решение для получения платежей с банковских карт, электронных денег, терминалов на вашем сайте. (далее…)

Структура сайта • как сделать хорошую структуру сайта
Разработка
1788 просмотры2
Разработка
1788 просмотры2

Структура сайта • как сделать хорошую структуру сайта

YouKit - 27.08.2017

Один из этапов создания сайта — разработка его структуры (взаимосвязь и расположение всех элементов проекта). У разных сайтов в зависимости…

avatar
1 Цепочка комментария
1 Ответы по цепочке
1 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
2 Авторы комментариев
YouKitЕвгений Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
Евгений
Гость
Евгений

Есть папочка .trash(корзина).Посмотрел через SSH,в ней огромное кол-во файлов.Пообщался с сапортом хостинга,дали добро,так сказать…очистив её из 21500 осталось 4500 дескрипторов(сайт ещё молодой),но лёг и сам сайт.Жду решения.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: