Об ошибке
После установки компонента 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
Похожие статьи
Превышен временной лимит выполнения...
Ошибка Fatal error: Maximum execution time of 30 seconds exceeded in... или...
Ошибки в таблице сессий базы данны...
Ошибки в таблице сессий базы данных или более правильно: jtablesession::Sto...
Критическая ошибка соединения с баз...
Критическая ошибка соединения с базой данных, DatabaseError.Невозможность с...
Fatal error: Call to a member funct...
После обновления Joomla 2.5.28 до версии Joomla 3.3.6 я получил ошибку Fata...