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

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

08.03.2016
40 Репосты 3,340 Просмотры
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-проект требует индивидуальное количество ресурсов, в том числе и параметр количества индексных дескрипторов, необходимо учитывать это параметр при выборе тарифного плана.

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

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

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

Онлайн консультант • беда для вашего сайта за ваши деньги
Маркетинг
961 просмотры2
Маркетинг
961 просмотры2

Онлайн консультант • беда для вашего сайта за ваши деньги

YouKit - 10.01.2019

«Вы только что зашли на наш сайт. Нашли то, что искали? «Мы перезвоним вам за 15 секунд, хотите проверить?» «У…

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

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

YouKit - 20.06.2018

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

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

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

YouKit - 07.09.2017

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

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

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

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

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