Причины ошибки 500 при входе в «админку» Джумлы
При попытке входа в панель администрирования Joomla иногда можно получить сообщение «500 - обнаружена ошибка». При этом сайт работает. Причин может быть много. Пятисотая ошибка не имеет четкого описания. Понять по её коду что случилось — нельзя. Однако, расстраиваться раньше времени не стоит.
Сначала следует открыть журнал ошибок (лог) и посмотреть, есть ли там сообщения об ошибках. Он лежит в каталоге «/logs» и называется «error.php». Смотрите последние записи, возможно, они прояснят ситуацию. Например, мы сможем узнать из-за какого модуля она происходит. Если виновник найден, то остаёться подключиться к базе данных и отключить этот модуль или плагин.
Если в логе ничего подозрительного нет, то есть вероятность, что проблема возникает из-за невозможности записи в каталоги «/logs» и «/tmp». Попробуйте выставить на эти каталоги и внутренние файлы полные права — «777». Сделать это можно через FTP клиент. У многих проблема решалась таким образом.
Если не помогло, то стоит проверить пути к этим каталогам в конфигурационном файле — «configuration.php». Открываем его через текстовый редактор и ищем строки:
public $tmp_path = '/tmp';
Так они выглядели у меня при возникновении 500 ошибки. Рекомендую прописать эти пути от корневой директории сервера, а не от корня сайта. Полный путь к каталогу сайта может помочь вывести следующий код:
<?php echo $_SERVER['DOCUMENT_ROOT']; ?>
Создаём в корне сайта скрипт test.php, прописываем туда этот код и обращаемся к нему через браузер. Смотрим, какой путь он показывает. Его вставляем в конфигурационный файл «джумлы». Получаем что-то вроде этого:
public $tmp_path = '/home/www/realadmin/tmp';
Если проблема не решилась, значит требуется детальный анализ сайта и установленных модулей. Проверьте корректность файла «htaccess». Поочередно отключайте установленные модули и плагины через базу данных. Но делайте все аккуратно, чтобы не усугубить ситуацию.
.htaccess переименовуем в htaccess.txt
а чтобы админку не перекидывало на оригинал админки на хостинге — в configuration.php закомментируйте public $live_site = 'http://ваш сайт';
Спасибо Огромное!!!
Очень хорошая статья, еще раз спасибо!