500 ошибка при загрузке файла

Обновлено: 07.07.2024

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

Одна из самых частых причин появления ошибки 500 — это неправильный синтаксис файла .htaccess. Кроме того, она порой возникает после загрузки на сервер неверных CGI‑скриптов или установки некорректных прав доступа.

То есть в ошибке 500, как и в других ответах с кодом, который начинается на цифру 5, виноваты разработчики или администраторы сервера. Но никак не пользователи.

Что делать пользователю при ошибке 500

Если вы увидели ошибку 500 на чужом сайте, есть два варианта.

Подождать

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

Сообщить администратору ресурса

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

Что при ошибке 500 пользователю делать бессмысленно

Так как проблема связана с сервером, то нет резона что‑то предпринимать со стороны клиента. Поэтому не пытайтесь:

  • перезагружать компьютер;
  • менять браузер;
  • переустанавливать ПО; .

Что делать администратору при ошибке 500

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

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

Проверить синтаксис файла .htaccess

Если вы используете веб‑сервер Apache, то в корне вашего сайта или во вложенных папках, скорее всего, есть файл .htaccess. В нём хранятся серверные настройки.

В большинстве случаев ресурс будет работать и без этого файла. Попробуйте переименовать .htaccess, например, в .htaccess_, а затем снова зайти на главную страницу сайта.

Если ошибка 500 исчезла, значит, дело именно в .htaccess. Проверьте синтаксис этого файла — возможно, при редактировании вы где‑то вставили лишний символ или допустили опечатку. Если есть предыдущая версия настроек, верните её и посмотрите, появляется ли ошибка 500.

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

Посмотреть лог ошибок

Хостеры обычно указывают, где по умолчанию хранятся логи и как получить к ним доступ из панели управления. Эти сведения можно найти в разделах помощи или FAQ (frequently asked questions — часто задаваемые вопросы) на сайте хостинга.

Выставить права для CGI‑скриптов

Если вы используете CGI‑скрипты, то сами файлы с ними и папки, в которых они лежат, должны иметь право доступа 0755 (drwxr‑xr‑x). Такая комбинация разрешает запись в них только для владельца. Остальные пользователи могут лишь читать эти файлы и запускать их.

Если у вас установлены другие права доступа, это может приводить к ошибке 500.

Проверить содержимое CGI‑скриптов

Корректные CGI‑скрипты должны иметь окончания строк в формате Unix (\n), а не в формате Windows (\r\n). Чтобы сохранить правильный вариант, загружать код на большинство хостингов нужно по FTP в режиме ASCII. Если вы не знаете, какие настройки использовали, перезалейте скрипты и посмотрите, не исчезла ли ошибка 500.

Удалить или отключить недавно установленные плагины или компоненты

Бывает, что отдельные компоненты сайта или плагины конфликтуют между собой. Это также приводит к ошибке 500 и другим проблемам на стороне сервера.

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

Оптимизировать скрипты

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

Особенно часто скриптам не хватает ресурсов, если вы используете виртуальный хостинг. Там количество памяти жёстко ограничено, чтобы у всех аккаунтов в рамках одного физического сервера были равные возможности.

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

Увеличить объём оперативной памяти сервера

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

Попросить помощи

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

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

Здравствуйте! При загрузке изображения большего объёма на сервер выдает ошибку:
500 Internal Server Error. Картинки размером 1.5мб грузит нормально, а два мегабайта и
больше выдает такую ошибку. Сервер стоит дома, Ubuntu 12.04. В php.ini прописал такие
настройки:

max_execution_time 2000
max_input_time 2000
upload_max_filesize 200M
post_max_size 200M

прописал, перезагрузил сервер но проблема так и не исчезла.

Хочу задать еще один вопрос, что бы не создавать новою тему :)
Захожу на любой сайт на сервере, начинаю много раз нажимать
F5 и половина сайта на протяжении 10 секунд перестает
адекватно грузиться (картинки, стили. ). Тоесть если на
сервер отослать много запросов он падает на 10 сек и выдает ошибку в firebug в мозилле 403. В чем может быть проблема, может кто знает?


логи сервера (какого?) показать не судьба?

Тоесть если на сервер отослать много запросов он падает на 10 сек и выдает ошибку в firebug в мозилле 403. В чем может быть проблема, может кто знает?

max_execution_time 2000
max_input_time 2000
upload_max_filesize 200M
post_max_size 200M

Разрешил загрузку файла 200мб, а скрипт выдает ошибку:"Ошибка! Максимально допустимый размер загружаемого изображения в php.ini (2M) меньше заданного в настройках фотохостинга (5 МБ)"


Ты редактируешь не тот пхп.ини.


Загрузи скрипт с phpino() и увидишь, какие у тебя переменные реально стоят и какие конфиги подключаются.

Спасибо ОГРОМНЕЙШОЕ! менял данные в /etc/php5/apache2/php.ini а надо было /etc/php5/cgiphp.ini. Хотя и в /etc/php5/apache2/php.ini тоже менять надо что в phpmyadmin можно было грузить большие дампы БД.


До чего ж приятно, когда люди понимают все с полслова)
По второму вопросу таки покажи конфиги апача, может народ чего и подскажет.

В линуксе и настройках не очень силен. Насколько я понял нужен:/etc/apache2/apache2.conf. Комментарии из файла удалены, а то бы не поместился)

LockFile $/accept.lock
PidFile $
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5

<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>

<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>

<IfModule mpm_event_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>

Коды статуса http – 500 ошибка сервера

Как выглядит ошибка с кодом 500

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

Различные варианты отображения внутренней ошибки сервера с кодом 500

В большинстве случаев в окне интернет-браузера отображается ошибка 500 Internal Server Error.

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

Как мы упоминали выше, 500 Internal Server Error – это ошибка на стороне сервера, означающая, что проблема, вероятно, не в вашем компьютере или интернет-соединении, а на сервере веб-сайта.

Хотя это маловероятно, возможно, что-то не так с вашей стороны, и в этом случае мы рассмотрим некоторые вещи, которые вы можете попробовать:

Перезагрузите веб-страницу. Вы можете сделать это, нажав кнопку обновления/перезагрузки, нажав F5 или Ctrl + R или повторив попытку URL-адреса из адресной строки.

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

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

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

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

Исправление ошибки 500 на вашем собственном сайте

Существует множество причин, по которым ваш сайт может показывать пользователям ошибку 500, но наиболее распространенные:

Если вы используете WordPress, Joomla или другую систему управления контентом или CMS, обязательно поищите в их центрах поддержки более конкретную помощь по устранению неисправности 500 Internal Server Error.

Больше способов увидеть внутреннюю ошибку сервера

Когда службы Google, такие как Gmail, испытывают внутреннюю ошибку сервера 500, они часто сообщают о временной ошибке (500) или просто 500.

1. 500 Internal Server Error — что это?

500 — код ошибки, указывающий на проблемы с сервером. Она возникает по различным причинам:

  • некорректные директивы в .htaccess,
  • неверно установленные права к файлам проекта,
  • конфликты с новыми расширениям.

Пользователи, сталкиваясь с ошибкой, видят следующее предупреждение.

Предупреждение о 500 ошибке на сайте

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

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

2.1. Серверные ошибки

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

Как проанализировать логи ошибок в панели управления хостингом

Выберите в логах вкладку «Error» и необходимую дату, чтобы просмотреть отчёт за определённый день, или укажите диапазон времени.

Как посмотреть в логах отчёт за определённый день

Ещё один способ обнаружить источник ошибку 500 Internal Server Error — провести техническую проверку, которая доступна в разделе настроек.

Как обнаружить ошибку 500 Internal Server Error в логах

2.2. Некорректный файл .htaccess

Зачастую error 500 отображается из-за неправильных директив в .htaccess. Любая некорректная команда или лишний символ могут вызвать сбой работы ресурса. Узнать, что ошибка именно в .htaccess, можно при помощи простого теста. Зайдите в панель управления хостинг-провайдера, перейдите в раздел «Файл-менеджер», чтобы попасть в корневой раздел проекта, и смените имя .htaccess на другое, например, test.

Как проверить файл .htaccess в онлайн-тестере

В отчёте строки с ошибками будут выделены красным цветом.

Ошибки в файле .htaccess, обнаруженные с помощью онлайн-тестера

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

Комментарии, которые могут вызвать ошибки в .htaccess

Ещё одна потенциальная причина ошибки 500 — некорректный синтаксис директивы FilterProvider, отвечающей за сжатие контента для ускорения работы. Эта директива включает сжатие на основании заголовков Content-Type, а на хостинге сжимать контент может Nginx, и до Apache такие запросы не дойдут. Следует также учитывать, что для различных версий Apache используется разный синтаксис.

2.3. Неверные права доступа

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

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

Как отредактировать права доступа к файлам

Допустимые права доступа к каталогам и файлам — 640 или 755.

2.4. Ошибки в Perl и Python скриптах

Иногда 500 ошибка возникает при выполнении скриптов. В данной ситуации нужно проверить, выполняются ли указанные условия:

  • Каталоги, в которых размещены скрипты, как и сами файлы, имеют права доступа 755, т.е. открыты для записи только владельцу.
  • Загрузка скриптов на сервер происходит по FTP, с использованием режима ASCII.
  • В начале файла указан корректный путь к интерпретатору для обработки скрипта, после этого нет спецсимволов, для перевода строки используется \n.
  • Если скрипт что-то выводит в браузер, в начале добавлен заголовок Content-Type: text/html и одна пустая строка.
  • Заканчивает файл также пустая строка.

2.5. Медленная скорость работы PHP-скриптов

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

2.6. Конфликты после обновлений и установки плагинов

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

2.7. Устаревшая версия PHP

Устаревшие версии PHP 5.6 и 7.0 не получают обновления безопасности, они работают медленнее, и у них могут возникать проблемы с различными плагинами и скриптами. Помимо этого, ресурсы с устаревшей версией PHP хуже ранжируются. Проверить текущую версию можно на хостинге в разделе «Настройки» — «Настройка PHP».

Как проверить версию PHP на хостинге

Быстро проверять коды ответа сервера страниц сайта вам поможет Netpeak Spider — инструмент для регулярного SEO-аудита, быстрого поиска ошибок, системного анализа и парсинга сайтов. У краулера есть бесплатная версия без ограничений по времени,в которой доступны многие базовые функции.

3.1. Редактирование файла .htaccess

  • Options. Иногда удаление этой директивы устраняет error 500. Если проблема не исчезла, попробуйте следующий вариант.
  • Директивы, меняющие настройки PHP, — php_value, php_flag.
  • Параметр +ExecCGI.
  • -MultiViews.
  • AddHandler.

Ещё один альтернативный вариант — замена директивы Options +FollowSymLinks на Options +SymLinksIfOwnerMatch, а Options All -Indexes — на Options -Indexes.

3.2. Исправление прав доступа

При некорректно установленных правах поменяйте их на 640 либо восстановите настройки по умолчанию. В зависимости от хостинг-провайдера алгоритм действий может различаться, найдите соответствующие настройки. Например, у провайдера «Украина» предлагается восстановить права доступа ко всем файлам и папкам в разделе «Установка CMS».

Как восстановить права доступа к файлам

Можно также восстановить настройки по умолчанию с помощью редактирования прав доступа конкретного файла.

Как восстановить резервную копию сайта

3.3. Исправление проблем с расширениями или обновлениями

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

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

Подводим итоги

  1. 500 внутренняя серверная ошибка — это достаточно распространённая проблема для ресурсов на любых CMS, а также проектах, созданных с нуля.
  2. Чаще всего причины проблем кроются в директивах .htaccess, неправильно установленных правах доступа к каталогам и файлам сайта, медленно работающих PHP-скриптах, конфликтах с новыми расширениями.
  3. Для исправления ошибки просмотрите логи сервера, исправьте некорректный синтаксис в .htaccess, проверьте время выполнения скриптов, отключите новые плагины. Если эти действия не устранили ошибку 500, восстановите резервную копию сайта.
  4. Чтобы избежать подобных неприятностей, периодически проводите техническую проверку ресурса, оптимизируйте скрипты, делайте перед любыми обновлениями бэкапы и будьте внимательны при изменении конфигурационных файлов.
  5. Если вы испробовали все способы, изложенные в статье, а ошибка так и не исчезла, напишите в техподдержку хостинга. Расскажите, после каких действий появились проблемы, и что именно вы предпринимали, чтобы их решить.

Читайте также: