Системные ошибки CMS Joomla



Ошибка PHP Fatal error: Class 'K2HelperPermissions' not found

После установки компонента K2 на сайт Joomla 3.1 сервер вернул ошибку 500, «Внутренняя ошибка сервера». Как потом выяснилось это Ошибка PHP Fatal error: Class 'K2HelperPermissions' not found. Чтобы это понять начинаем разбираться в причинах ошибки от «печки», то есть с журнала errors_logна хостинге.

Авторизуемся в административной панели хостинга, открываем вкладку «Журналы» и открываем файл errors_log. Название вкладки и файла у вас могут быть другими. О журнале ошибок читайте отдельную статью ТУТ.

В файле ошибок Apache errors_log ошибка записана в следующем виде:

[Mon Nov 04 20:18:59 2013] [warn] [client 46.хх.ххх.ххх] mod_fcgid: stderr: PHP Fatal error: Class 'K2HelperPermissions' not found in /var/www/vhosts/joomla3-x.ru/httpdocs/administrator/components/com_k2/k2.php on line 39, referer: httр://joomla3-x.ru/administrator/index.php?option=com_installer&view=install

Чтобы ошибку устранить попробуем ее расшифровать. Забегу вперед и скажу, что расшифровка ошибки не дала практического решения в исправлении ошибки.

Фатальная ошибка не найден класс 'K2HelperPermissions' в файле k2.php на линии 39. Эту ошибку вернул модуль сервера mod_fcgid, это видно из записи в логе.

Оказывается, на хостинге, где расположен сайт, в целях безопасности установлен модуль mod_fcgid - бинарно-совместимый модуль альтернатива модуля Apache mod_fastcgi. Модуль mod_fcgid имеет новую стратегию в области управления процессом, которая концентрируется на снижение количества FastCGI серверов.

Принцип действия FastCGI, в общем, такой: вместо запуска по одному процессу на каждый запрос, запускается тот же процесс, но только как процесс-сервер. Он обрабатывает запросы клиентов по очереди, без завершения процесса между запросами. Если один процесс не успевает в разумное время обрабатывать запросы - запускается еще один. Если процесс бездействует он, завершается диспетчером FastCGI.

А по сути это значит, что после установки K2 запускаются два одинаковых процесса, которые и приводят к 500 ошибке.

Практическое исправление ошибки

Ошибка PHP Fatal error: Class 'K2HelperPermissions' not found исправляется очень просто. Конфликт возникает из-за включенных плагинов «Умный поиск» - тип Finder и/или плагины "Поиск" -тип Search, движка Joomla. Практически ошибка исправляется так:

  • Удаляете компонент K2;
  • В административной панели сайта входите в Менеджер плагинов и отключаете все плагины «Умный поиск»;
  • Заново устанавливаете компонент K2, устанавливаете языковой пакет;
  • Проверяете открытие сайта;
  • Включите плагины Поиск и при необходимости включаете плагины «Умный поиск».
  • Это должно исправить ошибку.

Итоги статьи

Хочу отметить, что эта ошибка не связана с багами K2, а относится к особенностям хостинга на котором, размещен сайт. Также замечу, что это никак не означает плохое качество вашего сервера, да и исправление ошибки оказалось слишком элементарно для разочарований как в компоненте K2, так и в своем сервере.

На этом все. Ошибка PHP Fatal error: Class 'K2HelperPermissions' not found исправлена.

©Joomla-abc.ru

Другие ошибки Joomla

 

Рекомендуем