Ошибка 500 при переносе хостинга drupal разберем детали


500 Internal Server Error



Ошибка 500.

Мы предлагаем:

Новые тарифы хостинга - Минимальный и Безлимитный

- Всего 60 рублей за ГОД,

- Идеально подойдет небольшим сайтам,

- Поддержка популярных CMS

- 190 рублей в месяц,

- Количество сайтов - не ограничено,

- Дисковое пространство - не ограничено,

- Базы данных - не ограничено,

Содержание

Внутренняя ошибка 500 - Internal Server Error

Ошибка с кодом 500 (internal server error) – внутренняя ошибка сервера.

Значение 500 - код статуса протокола HTTP. Причина ошибки с таким кодом - неисправность конфигурации сервера, либо появление информации о том, что произошел отказ компонента. При ошибке 500 программное обеспечение работает, но есть серьезные внутренние проблемы, которые мешают запросам правильно обрабатываться.

Такая ошибка появляется у построенных на разных CMS сайтах.

Причины возникновения 500 ошибки сервера и способы их исправить

Ошибка 500 говорит о некорректной обработке запросов. Из-за этого пользователи и поисковые системы не могут полноценно работать с сайтом. Необходимо выявить и исправить причину, из-за которой возникло сообщение об ошибке. В случае, когда ошибка появляется часто и устраняется только технической поддержкой, стоит сменить хостинг.

Ошибка 500 - внутренняя, поэтому если она возникла на нужном для просмотра сайте, то можно только посетить его позже, когда восстановят работоспособность.

Причин, по которым появляется ошибка 500 - огромное количество. Задача сводится к поиску и устранению неисправности.

Виртуальный хостинг сайтов для популярных CMS:

Неправильные права доступа

Частая причина возникновения ошибки – установка неправильных прав доступа на файлы скриптов - 777. Из-за этого они блокируются сервером. Такая настройка разрешает всем вносить изменения в файл, что недопустимо с точки зрения обеспечения безопасности. В случае, когда требуется установить такие права, поставщик всегда сообщает об этом заранее.

Как исправить?

С помощью файлового менеждера (на скриншоте - бесплатная программа FileZilla) просмотреть права доступа к файлу или папке на сервере.

В первую очередь надо проверить, каким образом настроены права доступа. Для каждого типа элементов они проверяются индивидуально. Для папок рекомендуется значение 755, для скриптов - 600, а для других файлов - 644.

Оптимальное решение - один человек. который может управлять аккаунтом. Не желательно давать кому-либо права доступа к корневым папкам сайта.

Высокая длительность работы скрипта

Помимо PHP ограничений на время, за которое должен завершить работу скрипт, ограничения есть и от сервера. Появление ошибки возможно, когда нет ответа за указанный в конфигурации промежуток времени. По этой причине работа скрипта будет автоматически прекращена.

Как исправить?

Решение проблемы заключается в оптимизации работы скрипта. Можно использовать специальные сервисы, которые помогают найти медленный участок кода. Если используется выделенный сервер или VPS, можно увеличить промежуток времени ожидания сервера. Маловероятно, что удастся изменить этот параметр при использовании виртуального хостинга. Это возможно только при согласии технической поддержки.

Ошибки htaccess

У файла «.htaccess» определен строгий синтаксис, который нельзя нарушать. Если в нем написаны ошибочные директивы, то это приведет к появлению ошибки 500. Возможно, директива написана правильно, но не поддерживается.

Как исправить?

В корневой папке сайта нужно поискать файл «.htaccess». Если он нашелся, то нужно скопировать его, чтобы не потерять, а затем удалить из папки. После этой процедуры сайт может заработать. В таком случае станет точно известно, что причина была в этом файле. Затем нужно исправить файл (самый простой способ - добавить файл из чистого дистрибутива используемой системы управления сайтом).

Кроме того, есть возможность посмотреть сведения о появившихся ошибках. Ошибки сервера заносятся в специальный файл «error.log». В нем нужно найти строки о том, какая из директив ошибочна. Например, информация «Invalid command RewritRule» говорит о том, что директива «RewritRule» написана с опечаткой. Исправление на «RewriteRule» убирает эту ошибку.

Нехватка памяти для работы кода

На виртуальном хостине контролируется, какое количество памяти потребляет скрипт. В случае, когда скрипт хочет использовать слишком много памяти, возможно появление сообщения об ошибке 500.

Эта функция предотвращает большую нагрузку на сервер со стороны каждого аккаунта.

Как исправить?

В первую очередь следует определить, нет ли в коде ошибок, за счет которых он требует слишком много памяти. Если скрипт работает правильно, то начать решение проблемы можно с общения с сотрудниками технической поддержки. В некоторых случаях они помогают разрешить этот вопрос. Мы не обязываем клиента переходить на дорогой тариф из-за нехватке памяти, для решения проблемы можно за небольшую плату увеличить кол-во памяти на текущем тарифном плане.

Ошибка в cgi скрптах

Ошибка 500 чаще появляется из-за ошибок в «htaccess», но еще одна её причина – неправильная работа с CGI-скриптами.

Как исправить?

Существует три основных правила, которые могут быть нарушены.

    Формат окончания каждой из строк - UNIX (n), а не Windows (rn). Для обеспечения такого условия их загрузка проводится по FTP в режиме ASCII. Права доступа для скриптов CGI и папок, где они хранятся - 0755. Такая настройка разрешает процедуру записи исключительно владельцу, чтоб правильно с позиции безопасности. При работе скрипта CGI могут появиться неправильные HTTP-заголовки ответа. Следует проанализировать содержимое файла «error log» на предмет ошибок.

Ошибка 500 при использовании WordPress

В первую очередь рекомендуется определить, имеет ли файл «.htaccess» отношение к возникновению неисправности. Для этого выполнить его резервное копирование, удалить, а затем обновить страницу. Если сайт после этого работает, значит причина найдена и осталось исправить файл.

Файл «.htaccess» используется WordPress в случае, когда обычная структура ссылок была изменена на ЧПУ. Помимо этого, его используют плагины WordPress, которые осуществляют резервное копирование и некоторые другие функции.

Чаще всего файл «.htaccess» создается однократно, но в WordPress это происходит регулярно. Если в файл заносится ошибка, то хостинг считает его поврежденным и появляется ошибка 500. Записывать лишние данные, которые воспринимаются как повреждения, могут:

    движок, тема, плагины, которые активированы.

Если приведенные методы не помогли, то в качестве крайнего варианта можно отключить функцию wordpress, которая создает и переписывает файл «.htaccess». Этот метод подходит только как временная мера, поскольку вызывает проблемы при активации плагинов.

Поочередная проверка элементов позволяет отследить, какой из них - причина ошибки. В процессе поиска неисправности постоянно проверяют, не исчезает ли ошибка 500:

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

Сбои плагина иногда видно по искажению внешнего вида сайта. Возможно наличие ошибок в работе конкретного плагина или его конфликт с остальными.

Если файл «.htaccess» – не причина проблемы, нужно убедиться, что скрипты работают с нормальной скоростью. Поиск медленно работающиех скриптов можно выполнить самостоятельно, либо попросить помощи у специалистов службы технической поддержки. Файл с обнаруженной ошибкой и временем ее появления отражается в файле «Error Log».

В WordPress частые причины ошибки - файлы плагинов или тем. Можно деактивировать плагин и применить новый. Если причиной неисправности оказалось ядро WordPress, потребуется обновление.

На хостинге выделяется определенный объем оперативной памяти для использования. Ошибка 500 появится и из-за превышения этого допустимого значения. В админ-панели можно убедиться, не превысил ли сайт этот лимит. Там приведены сведения о уровне загруженности сервера. В файле с перечнем появляющихся ошибок видно, какой из файлов вызвал чрезмерную загрузку. Его придется обновить или удалить, если это допустимо.

Увеличить объем памяти возможно путем корректирования файла. В корне хостинга нужно найти «wp.config.php» и после последней строки добавить в него код:«define(WP_MEMORY_LIMIT, 64M».

В ряде случаев помогает обновление WordPress до последней версии.

Ошибка 500 при входе в административную панель Joomla

Ошибка 500 иногда возникает после ввода логина и пароля для панели администрирования Joomla – «админки». При этом работоспособность сайта сохраняется. Код ошибки не указывает на конкретную проблему, поэтому требуется её самостоятельный поиск.

Как исправить?

В журнале ошибок хранятся сообщения об ошибках. Он называется «error.php» и лежит в каталоге «logs». При поиске ошибок, которые появились недавно, важно обратить на последние записи в этом файле. Там содержатся сведения о нарушениях в работе модулей, если они происходили.

Другая вероятная причина ошибки - невозможность записи в каталоги «logs» и «tmp». Возможно, потребуется установка полных прав для этих каталогов – 777.

Рекомендуется проверить правильность путей к каталогам «logs» и «tmp» в файле конфигурации «configuration.php». Желательно указать полные пути к этим каталогам.

Если проблема сохраняется, рекомендуется проверить корректность файла «htaccess» и по очереди отключить и включить все логины и плагины через базу данных. В «htaccess» возможны ошибки, опечатки и лишняя информация. Например, ошибка 500 появляется из-за того, что не закомментирована строка Options +FollowSymLinks. При редактировании файла можно не удалять, а комментировать строки и проверять, как изменяется после этого работа сайта.

Если решить проблему самостоятельно не удается, потребуется обращение в службу технической поддержки.

Drupal Русскоязычное сообщество

Перенес сайт на другой хостинг, пользователем все работает. Но когда пытаюсь сделать карту сайта, а также в панели вебмастера ошибка: Внимание! Главная страница сайта исключена из индекса: HTTP-статус: Внутренняя ошибка сервера (500)
Подскажите, пожалуйста, в чем может быть дело.

Комментарии

Вам надо смотреть error_log на вашем хостинге, и вообще этот вопрос хостеру, он сам и логи посмотреть должен и причину определить и посоветовать чего делать.

У вас браузером по каким URL отдается 500-ая ошибка?

По этим URL не должно быть видно сайта вообще, а должно быть только сообщение веб-сервера об ошибке. Какое-то противоречие в посте.

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Скорее всего это сервис какой.
Вообще имел подобную же проблему у клиента. Проблема оказалась в настройках видимости блока, php определял кому показывать а кому нет. В этом php коде была ошибка, и apache на ряду с контентом показывал 500 ошибку. Естественно Яндекс не мог индексировать.

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии
  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

нет никакого противоречия. Самое странное, что у меня на этом хостинге стоит около 5 сайтов на этом же друпале и все ок. Правда, их я изначально там устанавливал, а этот переносил.

Действительно дело в блоках, сейчас все блоки снес и сразу sitemap заработал, думаю и в яндексе появятся. Спасибо

Второй вопрос, если php блок нормально отображается, но при при генерации sitemap возникает ошибка - это к хостеру или программеру?

  • Войдите или зарегистрируйтесь, чтобы отправлять комментарии

Вообще имел подобную же проблему у клиента. Проблема оказалась в настройках видимости блока, php определял кому показывать а кому нет. В этом php коде была ошибка, и apache на ряду с контентом показывал 500 ошибку. Естественно Яндекс не мог индексировать.

Вспомнил, у меня тоже такое было однажды. Появилось после обновления PHP. Видимо старый молча проглатывал ошибку в синтаксисе, а новый не смог терпеть. Именно в PHP-коде видимости блока ошибка.

Второй вопрос, если php блок нормально отображается, но при при генерации sitemap возникает ошибка - это к хостеру или программеру?

Речь об xmlsitemap? Эта карта вроде не вызывает блоки.

Речь об xmlsitemap? Эта карта вроде не вызывает блоки.

Да он самый, а точнее xml-sitemaps.com

Дело проясняется: у вас сайт в браузере всегда открывается. Но когла приходят боты - не важно, бот яндекса или бот стороннего сервиса по генерации sitemap - они получают ошибку 500. Скорее всего и остальные боты 500 получают.

Это все укладывается в гипотезу про ошибку в PHP-коде для задания области видимости блока.

В общем ошибку все равно нужно исправлять - это лучше к программеру.

А sitemap лучше делать внутренними средствами друпала - модулем http://drupal.org/project/xmlsitemap

Решил проблему белого экрана (ошибки HTTP 500 Internal Server Error) таким образом:
Зашел в /var/log/httpd/error_log
Увидел php fatal error class domdocument.
Отсюда понятно, что не включено какое-то дополнение. Немного погуглив узнал, что речь о php-xml
далее в консоли из-под рута
yum install php-xml
yum install php-devel

Drupal Русскоязычное сообщество

Всем привет. Перенес простенький легкий сайт, созданный на drupal 7 с локалхоста на хостинг (ru center). Как обычно залил архив, распаковал, импортировал бд (средствами phpMyAdmin), но возикла ошибка (Fatal error: Class PDO not found). Мне подсказали, что надо подключить модуль pdo_mysql ну и пару других (тк напрямую переопределить extension нельзя) и ошибка исчезла, но возникла новая - PDOException: SQLSTATE[42000]: Syntax error or access violation: 1231 Variable sql_mode cant be set to the value of TRADITIONAL in lock_may_be_available(). Подскажите, кто знает, как ее решить и как она могла возникнуть - при переносе сайта или просто хостинг не отвечает требованиям drupal 7?

Комментарии

php собран без PDO. Скорее всего нужно будет менять хостинг, :)

сделайте вывод php info и посмотрите, есть ли вообще разделы с ним (PDO)

Так я подключил модуль pdo_mysql через панель управления хостингом, без него выдает ошибку, что класс PDO не найден - значит он все-таки используется?

Сапорт хостинга искали проблему, но не нашли и предложили перезалить и обновить бд :)
А как сделать вывод php info?

Кроме pdo_mysql есть и pdo просто :).

Просто pdo там в списке расширений для модуля php нет, только pdo_mysql, pdo_pgsql и pdo_sqlite
а код вставить в index.html? я нуб :)

p.s. вроде бы версия mysql старше 5.0, php v5.2.10

Попробовал установить drupal 7 заново, стерев файлы переносимого сайта и базу данных, но возникает та же ошибка:
Failed to connect to your database server. The server reports the following message: SQLSTATE[42000]: Syntax error or access violation: 1231 Variable sql_mode cant be set to the value of TRADITIONAL.

создайте файл info.php и в него вставьте код.

To enable PDO configure --enable-pdo and --with_pdo_mysql
Так что нужны 2 модуля пдо. В общем стучи хостеру.

Какой хостинг и какая версия PHP возможна на нем? Ну так, на всякий случай ,)

Хсотинг ru-center (nic.ru), версия php 5.2.10.
Хостеру уже позвонил. Специалист попросил подождать, а через минут 10 сказал, что они пока не поняли, в чем проблема))

Расширения модуля php есть такие:
apc bcmath bz2 calendar ctype curl dba dbase dom eaccelerator exif filter ftp gd gd_ext gettext hash iconv imagick imap json ldap mbstring mcrypt mhash ming mysql mysqli openssl pdo_mysql pdo_pgsql pdo_sqlite pgsql posix recode session simplexml soap sqlite templates tidy tokenizer wddx xmlreader xmlwriter xsl zend optimizer zip zlib
Из них включены: ctype, curl, dom, filter, ftp, gd, gettext, hash, iconv, imap, json, mbstring, mhash, mysql, pdo_mysql, posix, session, simplexml, tokenizer, xsl, zend optimizer, zlib

Просто pdo не видно

To enable PDO configure --enable-pdo and --with_pdo_mysql

Это цитата с офф рекомендаций Drupal 7

сам работаю на nic.ru на 5.2.10 (поэтому и интересовался), семерка работает без проблем.

2 UnnamedNETUA: Возможно, это консольная команда?
2 heap.ster: в чем я мог ошибиться при установке друпал 7? Я создал нового пользователя для доступа к базе данных, новую бд, залил официальный дистрибутив в чистую директорию, прошел по ссылке и на шаге настроек доступа к бд возникает описанная ошибка.

UPD: установил флажки, как на скриншоте, ошибка осталась та же.

1. Покажи phpinfo.
2. Покажи скриншот включенных модулей для php, как парой комментов выше.

если посредством пунктов 1-2 ничего не прояснится, удали все с хостинга, удали базу. Включи модули php нужные, и начинай установку заново.

В этом разделе phpinfo информация у нас совпадает, а модулей PHP у вас подключено еще больше.
Что phpinfo пишет в разделе PDO?

UnnamedNETUA: Возможно, это консольная команда?

да, это часть консольной команды, для сбора ПХП из исходников. Но для вас это всего значит что должны быть включены модули pdo и pdo_mysql

2 heap.ster: То же самое, что и на скриншоте.
2 UnnamedNETUA: Как включить модуль pdo?

Попробуйте заново установить семерку на абсолютно пустой хостинг и базу? проблема остается?

К хостеру уже обращался, сказали, что будут решать, но это было в пятницу и разумеется ничего не изменилось)

Вопрос решился переносом на сервер, на котором стоит mysql v5. Думал, что в ру-центре уже на всех серверах v5+, лол.
Всем спасибо за помощь.

LOL, у меня на серваке стоит древний древний мускул, и то 5 версии.

Вряд ли дело в одной базе, у меня в руцентре на 201 семерка крутится без проблем.

Вряд ли дело в одной базе, у меня в руцентре на 201 семерка крутится без проблем.

Большие компании имеют большой бардак на серверах. Яркий пример - sweb.ru. Думаю, что в ру-центре тоже самое

Большие компании имеют большой бардак на серверах. Яркий пример - sweb.ru. Думаю, что в ру-центре тоже самое

в ру-центре и с рф-ными доменами бардак :)

Была такая же ошибка, помогло изменение драйвера БД с mysql на mysqli. Правда теперь вылазит Internal Server Error - 500, но это уже вроде совсем другая история)

Была проблема Fatal error: Class PDO not found in .

поставил галочку в расширениях модуля php в настройках хоста в своей панели юзера.

Отзывы

Спиридон
hyakohsi
Альбина
Силантий
Андроник

Написать отзыв

Success! Your message has been sent.