Не заходит на олх ошибка 500 внутренняя. Увеличение лимита PHP-памяти. Исправляем на стороне сервера

Вайбер на компьютер 14.03.2019
Вайбер на компьютер

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Ошибка 500 на сайте - одна из часто встречаемых ошибок для пользователей WordPress.

Больше видео на нашем канале - изучайте интернет-маркетинг с SEMANTICA

500 ошибка сервера, как правило, является внутренней. Это значит, что ее решение зависит от собственника интернет-ресурса или его провайдера интернета.

Разберем, что значит ошибка 500 на простом примере из жизни. Вы решили побаловать себя обновкой и отправились за ней в торговый центр. Вы подходите к ТЦ и видите, что он закрыт, хотите зайти с заднего входа и видите табличку «Закрыто. Ведутся санитарные работы». Значит, сегодня вы сюда не попадете, нужно искать другой магазин. Подобный механизм действия и с сайтами, периодически в их работе возникают ошибки, и ресурс закрывается до устранения проблем.

Почему появляется ошибка 500 Internal Server Error

Если ресурс выдает ошибку 500, причин для этого может быть очень много и определить их не так просто. Например, с ошибкой 404 все более-менее понятно: дело в измененных URL страницы или же сломаны permalinks.

Код ответа сервера 500 может быть вызван:

  • повреждением.htaccess файлов;
  • задержкой скрипта;
  • неправильным обновлением системы WordPress;
  • некорректно установленными плагинами;
  • устаревшей версией PHP.

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



Как исправить Ошибку 500

Есть несколько вариантов решения имеющейся проблемы.

Наиболее распространенная причина - один из скриптов не успевает своевременно обрабатывать поток информации. Чтобы устранить код сервера 500, нужно вручную сделать оптимизацию процесса. Чтобы найти медленно работающий скрипт, можно воспользоваться специализированными сервисами.

Следующий метод основывается на том, что проблема кроется в некорректной настройке и работе файлов.htaccess. Написание.htaccess файлов - задача для профессионала. Простой пользователь с этим не справится. Поэтому лучше обратиться за помощью к специалисту.

И третий сценарий возникновения поломки - использование объемного скрипта, который требует для нормального функционирования слишком много места. Здесь можно либо отказаться от такого скрипта, либо перейти на другой тариф и тем самым расширить лимит памяти.

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

Одной из самых популярных платформ на сегодняшний день является Worpress. Она имеет удобную административную консоль и с ней практически любому пользователю теперь под силу самостоятельно сделать свой собственный сайт. Но порой случаются сюрпризы, которые полностью парализуют работу сайта и ставят вас в тупик. И тогда перед глазами появляется ужасный белый экран смерти, неведомая PHP-ошибка, к которой привели неполадки на сервере, или плановые обновления плагинов, приведшие к краху сайта. Любую проблему можно решить, имея достаточно знаний и бесценный опыт. И в этот раз мы поговорим о внутренней ошибке сервера (Internal Server Error), а также о ее причинах и мерах устранения.

Ошибка 500 или внутренняя ошибка сервера (Internal Server Error)

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

Проблемы, из-за которых возникает Ошибка 500:

Конфликты в плагинах (обычно возникают после обновления)
Неполадки в теме сайта (возникают при обновлении родительской темы)
Ошибки в файле.htaccess
Превышен лимит PHP-память

Как устранить Ошибку 500.

Многих, особенно новичков, эта напасть может сильно напугать и поставить в настоящий тупик, но не стоит беспокоиться. Доступ к сайту через консоль нарушен, но на сервер можно попасть с помощью специального программного обеспечения. Поэтому паниковать не нужно.

Исправление файла.htaccess.

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

Деактивация всех плагинов

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

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

Если это решение не помогло, то нам придется менять тему.

Изменение темы

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

Восстановление директорий the «wp-admin» и «wp-includes».

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

Увеличение лимита PHP-памяти.

Когда вышеперечисленное не помогло, то не надо отчаиваться. Придется всерьез поработать, чтобы все привести в порядок на вашем сервере. Ошибка 500 - решаема и это не конец вашего сайта. Если обстоятельства вынуждают вас применить крайние меры, то воспользовавшись Редактором кода необходимо написать текстовый файл, переименовав его в php.ini.
Внутри него необходимо прописать: memory=64MB
Загружаете сохраненный файл в папку «wp-admin». В случае устранения сбоя и расширения PHP-памяти необходимо выяснить у своего , что именно могло привести к перелимиту. У хостера имеется все записи из журнала операций, а причины могут быть какие угодно: от неправильно разработанных плагинов, до некорректной работы темы.

Материалы по теме:

Почему отображаются знаки вместо текста

Недавно ко мне обратился за помощью один знакомый. У него есть молодой сайт, на котором вместо текста стали отображаться различные иероглифы. Так как я...

Как добавить форму комментариев Vkontakte

Всем привет! Недавно, мне поступил заказ от клиента, он хотел, что бы я на его блоге разместил другую форму комментариев. От предложенного мною плагина...

Видео-хостинг для размещения видео на киносайтах

Всем привет! Заканчивая прошлую статью, про принадлежность Wordpress как CMS для кино сайтов, я упомянул, что в следующий статье напишу про видео хостинг, без которого...

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

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

Появление ошибки 500 в браузере может быть вызвана различными причинами. Поэтому мы перечислим ниже все способы для ее устранения:


Ошибка 500 в браузере Google Chrome

Причины ошибки HTTP ERROR 500

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

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


Настройки прав доступа

Запредельная длительность выполнения скрипта

Помимо ограничений на время выполнения со стороны языка программирования PHP, такие ограничения налаживаются на скрипт и со стороны серверных систем. Ошибке свойственно появляется в тот момент, когда за ограниченное время скрипт не завершил свою работу. В этом случае его работа будет завершена неоконченной.

Чтобы избежать ошибки HTTP ERROR 500 и ускорить работу скрипта, можно воспользоваться специальными сервисами для оптимизации работы медленных участков сценария. При использовании VPS или выделенных серверов можно изменить время ожидания сервера. Такие манипуляции не удастся провести с использование виртуального хостинга, если не получить соглашение со стороны технической поддержки.

Проблемы с файлом.htaccess

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

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


Файл.htaccess

Можно просмотреть сведения об ошибках сервера. Все они заносятся в специальный файл под именем – «error.log». Открыв его, вы можете найти информацию о том, какая именно из ваших директив является конфликтной. К примеру, «Invalid command ‘Prive’ сообщает нам о том, что ‘Price’ директива содержит опечатку, исправив «v» на «c» решится данная проблема.

Коду нужно больше памяти

Система виртуального хостинга строго контролирует память, выделяемую под нужды различных скриптов и программ. Таким образом сервера предотвращают перегрузку памяти. Когда по каким-то ошибочным причинам код начинает потреблять больше памяти появляется ошибка 500.


Память под работу скриптов

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

Ошибка 500 internal server error – внутренняя ошибка сервера, говорящая о неработоспособности какого-либо из его компонентов. В сообщении об ошибке не указывается конкретная проблема и не предлагаются способы её решения. Ситуация описывается в целом: сервер работает, но в его конфигурации или в каком-то малозначимом скрипте допущена фатальная ошибка, из-за которой обработка запросов невозможна и сервер не отвечает.

Ошибка может возникнуть практически на любом сайте. Не важно, написан сайт на простом движке или построен на базе мощной CMS , решающую роль тут играет качество администрирования сервера и аккуратность самого веб-мастера при вмешательстве в его настройки. Не редко ошибка появляется после добавления на сайт нового модуля или банального обновления CMS .

Для веб-мастера это одна с самых нежелательных ошибок. В плане оптимизации она грозит резкой потерей позиций, а оперативно ее исправить не всегда является возможным. Если не устранить проблему до того, как будет исчерпан лимит доверия ПС, возможен полный, хоть и временный, вылет из выдачи. При этом нельзя сразу определить, чем вызваны неполадки на стороне сервера и быстро решить проблему. Приходится перебирать распространенные варианты и, что называется, искать иголку в стоге сена . Как правило, ошибка 500 возникает после неумелого вмешательства в настройки сервера: порой причиной становится едва заметная ошибка в коде.

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

  • Долгое выполнение скрипта
  • Превышение лимита оперативной памяти
  • Синтаксическая ошибка в
  • Неправильные права доступа у файлов

Методы решения

Превышение лимитов

Первым делом нужно проверить, нет ли на сайте скриптов, которые слишком долго выполняются. Стоит помнить, что абсолютно все хостинг-провайдеры устанавливают жесткие ограничения на время выполнения, чтобы снизить нагрузку на собственные сервера. Если скрипт на сайте «долго думает », его просто завершают, дабы не страдали другие сайты на сервере. Результат принудительного завершения – ошибка с кодом 500. Если веб-мастер имеет непосредственный доступ к серверу, на котором расположен сайт, выявить скрипты с долгим выполнением будет легко. Достаточно отследить время выполнения каждого и найти нужный, возможно, он будет не один. А если удалять найденный скрипт никак нельзя, не будет проблемой поднять лимит на время выполнения в конфигурации сервера. Другой случай, если сайт расположен на виртуальном хостинге: без помощи технической поддержки решить проблему не удастся. Однако, администрация большинства хостингов редко идет на встречу – скорее всего, владельцу просто предложат перейти на тариф подороже.

Помимо лимита на время, существует и лимит оперативной памяти, которая доступна для выполнения скрипта. Если сайт построен на базе сложного и тяжелого движка с массой различных функций, наверняка, он будет резервировать для своей работы довольно большой объем ОЗУ сервера. Естественно, на хостинге она не бесконечная. Если вы используете бюджетное решение то на одном сервере администрация хостинга может размещать несколько сотен сайтов, поэтому если какой-то один будет потреблять много ресурсов, все остальные начнут работать гораздо медленнее. Лимит памяти так же, как и временной, указывается в конфигурации сервера. Имея прямой доступ, лимит можно повысить. Если же доступа к серверу нет, придется просить администрацию найти «прожорливый» скрипт и сообщить о нем владельцу. После нахождения тяжелого скрипта можно попытаться его оптимизировать, обратившись к программисту или самостоятельно удалив из кода ненужный функционал.

Ошибка в.

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

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

Из данного лога следует, что проблема вызвана директивой “RewritRule ”. Это очевидная синтаксическая ошибка. Название директивы было напечатано неправильно – пропущена одна буква – вместо “RewtiteRule ” получилось “RewritRule ”, соответственно, вся конструкция оказалась неверной. Файл. не допускает даже столь незначительных огрехов, выдавая ошибку с кодом 500.

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

Из-за неправильно выставленных прав доступа скрипт может не работать. Однако, ошибка 500 возникает в противоположном случае: если скрипт имеет излишне высокие права с кодом 777. Объясняется это мерой безопасности самого сервера. Редкому скрипту по-настоящему нужны абсолютные права, между тем, такой скрипт может оказаться вредоносным шеллом, который встроит в сайт ненужный код или вовсе удалит все расположенные на сервере файлы вместе с ним самим, выполнив команду -rm -rf . Если уж и решаться заливать на сайт php -файл с правами 777, то только от очень проверенного разработчика, сомнений в добросовестности которого нет. Кроме того, зачастую сами хостеры блокируют возможность выдачи файлам абсолютных прав, что, несомненно, правильно.

Для решения проблемы нужно проверить все файлы своего сайта и найти среди них те, у которых установлены права 777. Выявив все, нужно понизить права по следующему принципу:

В серверный файловых менеджерах с GUI интерфейсом установка прав выполняется в контекстном меню:

Крайне редко встречаются скрипты, для работы которых нужны права 777. Если это необходимо, разработчик заранее об этом предупредит, однако, даже в этом случае хостер вряд ли позволит разместить у себя такой файл.

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

При плохой системной конфигурации,работа сервера может пойти наперекосяк,и тогда Hypertext Transfer Protocol (HTTP) показывает сообщения об ошибках.В частности,сообщение об ошибке «HTTP 500 Internal server error» обычно происходит,когда администратор сайта пытается загрузить файл на сайт.Для администраторов,которые управляют сервером,такая ситуация не должна быть проигнорирована,так как страдают конфигурационные файлы системы.Чтобы исправить эту ошибку,требуются усилия команды,и они начинаются с конечного пользователя,уведомлением администратора сервера и заканчивается хостингом сайта,что бы принять меры.500 Internal Server Error-это общее сообщение об ошибке, выдаваемое при отсутствии более конкретных подходящих сообщений.

Как правило,для решения этой проблемы необходимо воспользоваться помощью лог-файлов,которые расположены в следующей папке:
=>/var/log/message
=>/var/log/httpd/error_logs (/var/log/lighttpd/error_log /var/log/httpd/error_log)

Так что вы даже можете быть удивлены,почему ваш PHP-скрипт выдаёт внутреннюю ошибку сервера 500.Эта ошибка возникает только из-за программного обеспечения веб-сервера.Однако,просмотрев журналы можно не обнаружить множество деталей.Эта проблема может быть вызвана:

  • Уродливым php-cgi-скриптом
  • Недопустимая директива в.htaccess или других config file
  • Ограничения,наложенные файловой системы и программным обеспечением сервера (например,файл php журнала размер 10 Мб)
  • Отсутствует php.ini (или не может прочитать файл php.ini)

В большинстве случаев она является недействительной директивой.htaccess.Однако недавно я наткнулся на web server w/o/etc/php.ini. Я давно настроил этот сервер (Apache в chroot jail). Поэтому нужно сохранять два файла один за пределами сервера,а другой внутри сервера:
=>/etc/php.ini
=>/chroot/etc/php.ini <- этот файл отсутствует

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

Причины и решения:

1 - система безопасности (mod_security)

mod_security-это система безопасности,которая работает на webserver для выявления типичной хакерской деятельности,если они пытаются сделать что-то на сервере.Она ищет структуры, широко используемые хакерскими скриптами и слова,и если правило срабатывает,она отправляет ошибку 500,и даже может временно заблокировать IP-адрес посетителя.
В mod_security есть правила,которые будут перечислены в журналах ошибок *и* в mod_security журнале.

2 - suexec

Если сервер настроен на использование php_suexec (который предназначен для обеспечения безопасности чуть лучше в том, как хранятся файлы и разрешения управляются с PHP скриптами), то вам не позволят установить какие-либо файлы или папки в уровни разрешений «777» («world-writable). Максимально допустимый в таких случаях, как правило, уровень разрешений 755.
В этой ситуации, если вы установите на папку уровень разрешения «777», сервер выдает 500 Internal Server Error и блокирует любые скрипты или файлы в этой папке.Заблокированные папки будут перечислены в журналах.Таким образом, в этом случае вы должны использовать уровень разрешения 755 вместо 777 при чтении инструкции, которые предполагают использование уровня разрешений «777».

3 - ошибки синтаксиса.htaccess .htaccess ограничений, налагаемых main server configuration

Если ваш сервер настроен на ограничение использования определенных директив в файлах.htaccess, но вы используете что-то не разрешенное,то будет срабатывать “500 Internal Server Error” , и ваш сайт будет недоступен, пока вы не решите проблему.
Точные правила будут записаны в журналы,например внутри каталога subdomian,убедитесь в том, что.htaccess находится в этом каталоге.

# Различные правила перезаписи.

RewriteEngine on
++++++++++++++++++++++
#Если ваш сайт работает в VirtualDocumentRoot на http://example.com/,
# раскомментируйте следующую строку:
RewriteBase / <-удалить хэш (#)

4 - ошибки PHP

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

5 - плохое содержание configure.php

Если URL-адреса или пути,или что-нибудь ещё,находятся в вашем файле configure.php -это информация для другого сервера,или не правильно для *вашего* server,то для многих как ни странно,могут возникнуть проблемы, в том числе, возможно и ошибка 500. Однако, как правило,это будут очень разные симптомы.Просто убедитесь, что Вы не скопировали файлы configure.php с одного сервера на другой, даже localhost.



Рекомендуем почитать

Наверх