Приветствую всех, интересующихся блогом SEOBID.NET! В продолжение темы об ошибке internal server error хочу сегодня добавить еще несколько пунктов. Избороздив просторы интернета, я нашел еще несколько причин возникновения этой ошибки и способов ее устранения. Раньше я уже писал об этом в статье Почему возникает ошибка 500 или что такое внутренняя ошибка сервера и что вообще значит 500 internal server error. Но, оказывается, могут быть такие ситуации с ошибкой 500, из которых выход можно найти самому, и это не очень сложно.

Например, я писал о файле.htaccess, но не упомянул о том, что еще можно в нем исправить. Так вот, при проверке этого файла обратите внимание на то, чтобы в нем не было следующих директив php, то есть, строк типа:


php_value name value

php_flag name on|off

php_admin_flag

Закомментировать директиву в файле .htaccess можно добавлением в начале строки знака #

Например, есть такая директива:

    

php_flag register_globals On

Если ее закомментировать, то она будет выглядеть вот так:

    

# php_flag register_globals On

Этот код может прописываться хостером автоматически, но он же может вызвать и ошибку 500 server error wordpress. Да и другие некорректные строки в файле .htaccess также могут привести к появлению этой ошибки, поэтому не лишним будет разместить рядом с файлом .htaccess обычный файл test.htm с любым содержимым и понаблюдать, нормально ли он грузится. Если все в порядке, то проблема не в .htaccess, и придется искать решение в другом месте.

Если вы получаете ошибку http 500 internal server error на скриптах Perl- или CGI-скрипте (расширение файла *.pl, *.cgi), то необходимо проверить путь к Perl, который указывается в скрипте. Этот путь к Perl можно отыскать на главной странице cPanel вашего аккаунта на хостинге. Также необходимо помнить, что скрипты Perl- или CGI-скрипты должны загружаться на хостинг в ASCII-формате и на них должны быть выставлены права доступа 755.

Неправильно указанный формат в FTP-менеджере (если вы им пользуетесь) при загрузке файлов тоже может привести к внутренней ошибке сервера. Если ошибка internal server error на сайте пользователя возникает рандомно (случайно), то проблема не в настройках сайта, а в превышении лимита процессов на сервере, о чем я писал раньше.

В таком случае вам следует или просто подождать, пока сверхлимитная активность исчезнет (такая ситуация может возникнуть при кратковременных внешних атаках, которые направлены именно на ваш блог или сайт), или сменить свой тарифный план на более мощный, где лимит памяти выше (рекомендуется план 55, тариф VIP, VDS или выделенный сервер).

Следующее решение, если возникает ошибка http 500 internal server error, приведено ниже. Для более точного диагноза вы должны понять причины возникновения ошибки. А для этого вам нужно включить отображение ошибок WordPress. Чтобы это сделать, откройте файл wp-config.php (в корне сайта), и добавьте в него следующий код:

define('WP_DEBUG', false);

@ini_set('display_errors', 1); 

Ошибка 500

Эти строки включат отображение ошибок на сайте – они будут видны прямо в браузере. Это ваш первый шаг к решению проблемы, если вдруг появляется ошибка http 500 internal server error. На одном из своих сайтов я этими строками и ограничился, так как в сообщении, которое высветилось на экране монитора при очередной неудачной попытке открыть сайт, я увидел, что проблема заключается в файле single.php в 54-й строчке php кода.

Это очень хорошее решение – вы сразу получаете полнейшее описание ошибки и способ ее устранения – и имя файла, и даже номер строки, которая виновата в ошибке. Самое быстрое решение – не копаться в php коде файла, а просто заменить его. Поэтому всегда храните копию своего шаблона темы где-то в облачном сервисе – когда-то она может пригодиться.

Выводы можно сделать следующие:

  1. Хотя бы раз в неделю делайте полную резервную копию всех файлов сайта на свой ПК с сервера хостинга, а лучше – о какой-нибудь облачный сервис, например, на Яндекс.Диск или в Dropbox. Для копии без плагинов можно воспользоваться файловым менеджером.
  2. Если копию будете делать при помощи плагина, то лучше всех работает WordPress Database Backup, который создает и отсылает на тот почтовый ящик, который вы указали в настройках сайта, полную базу данных с такой частотой, которую вы укажете в настройках плагина.
  3. Перед тем, как ковыряться в файлах сайта, тоже сделайте резервную копию.
  4. Не убирайте из файла wp-config.php код отображения ошибок в WordPress — вы сможете быстрее реагировать на появление ошибки.

И последнее, что я смог найти по поводу ошибки internal server error как исправить ее – это такой совет от моего хостера:

Если проблема появления ошибки 500 заключается в файле .htaccess, то вы должны внести в него такие изменения:

  1. Убрать директиву Options +FollowSymLinks на Options +SymLinksIfOwnerMatch.
  2. Убрать директиву +ExecCGI.
  3. Удалить директивы AddHandler, php_value, php_flag.
  4. Удалить директиву –MultiViews.

На этом я буду заканчивать, и следующая публикация будет о том, как можно защитить свои фотографии или изображения, которые вы загружаете на сайт. Особенно это касается личных и авторских изображений. До встречи на страницах SEOBID.NET!