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

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

08.03.2016
40 Репосты 1,329 Просмотры

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

Если объяснять просто: индексный дескриптор – это описатель файла, он содержит все необходимые для работы с файлом служебные атрибуты.
Через индексный дескриптор осуществляется доступ к содержимому файлов. Более детально и технически об этом написано на 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-проект требует индивидуальное количество ресурсов, в том числе и параметр количества индексных дескрипторов, необходимо учитывать это параметр при выборе тарифного плана.

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

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

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

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

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

YouKit - Сен 07, 2017

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

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

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

YouKit - Авг 27, 2017

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

Как придумать УТП • Уникальное торговое предложение для сайта
Маркетинг
0 репосты598 просмотры
Маркетинг
0 репосты598 просмотры

Как придумать УТП • Уникальное торговое предложение для сайта

YouKit - Июн 15, 2017

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

Отправить ответ

Уведомлять
avatar

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

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