There are two possible reasons why 500 Internal Server Error might appear.
Reason 1. Incorrect File/Directory Permissions¶
Some webservers do not allow executing PHP scripts with the permissions higher than 755 or 644. Change the permissions for your files and directories to 755 in order to resolve this issue.
To set up the permissions, complete the steps below:
- On a Unix-based server with terminal access, use the following command:
The command sets the 755 permissions for all CS-Cart scripts (at least, for index.php and admin.php located in the CS-Cart root directory, and for index.php located in the install directory). Use this command, if you get the mentioned 500 Internal Server Error after the installation.
If you do not have terminal access to your server, change file access permissions using an FTP client. Most FTP clients have the Change permissions or Change mode functions, that you can use to set permissions. For more detailed instructions on how to set file permissions refer to your FTP client documentation.
Note
Contact your hosting support team for information about proper permissions for PHP files and directories.
- On a WINDOWS-based server, set read permissions for the files and directories to the user with the IUSR account.
Reason 2. The Web Server Doesn’t Support Some Directives¶
The second possible reason for 500 Internal Server Error is that your web server does not support some directives of the CS-Cart .htaccess file.
To solve the problem, try renaming the .htaccess file located in the root directory of your CS-Cart installation to something else, for example, .htaccess1.
If renaming .htaccess helps, contact your server administrator. Send them the content of the CS-Cart .htaccess file and ask which directives are not supported on your server.
Questions & Feedback
Have any questions that weren’t answered here? Need help with solving a problem in your online store? Want to report a bug in our software? Find out how to contact us.
Ошибка 403 — 403 Access denied (Доступ к ресурсу запрещен)
Ошибка 403 означает, что доступ к ресурсу, папке или файлу запрещен (получен код 403 Forbidden). Возможно, что доступ был закрыт через файл .htaccess.
Так же ошибка может быть вызвана тем, что в папке нет index файла.
Ошибка 404 — 404 File not found
Документ по указанному URL не существует. Возможно, такой файл удален, либо вы ошиблись при наборе URL в браузере или пошли по неверной ссылке.
Ошибка 500 — 500 Internal server error
Появление 500 ошибки, может быть связано с неправильно указанными параметрами в файле .htaccess, который находится в папке с вашим сайтом.
Также, если файл сохранён в кодировке UTF-8, он должен быть без метки BOM. Если же файл сохранён в UTF-8 с меткой BOM, откройте файл и сохраните его без метки BOM.
Как убрать UTF-8 BOM метку
Чтобы убрать BOM, например в Notepad++, нужно открыть в нём проблемный файл, кликнуть по пункту «Кодировки» в верхнем меню и выбрать «Преобразовать в UTF-8 (без BOM)». Далее сохраните файл и загрузите его на сервер (хостинг).
Ошибка 500 у CGI скриптов, может быть вызвана из-за неправильных прав у файла-скрипта CGI (должны быть 755).
Также, это может быть ошибка непосредственно в сценарии скрипта. Точную причину можно установить, просматривая лог ошибок.
Ошибка 502 — 502 Bad Gataway
Данная ошибка означает, что сервер (или proxy-сервер) получил недопустимые ответы другого сервера (или proxy-сервера).
Причиной может быть некорректная работа скриптов, либо ошибка ответа шлюза веб-сервера.
Одна из наиболее частых причин ошибки 502:
скрипт сайта отправляет cookie или другие данные множество раз при каких-то определённых действиях, в результате чего объём заголовков (header) растёт больше допустимого лимита веб-сервера.
При достижении порогового значения, веб-сервер отклоняет запрос с слишком большим заголовком, отбрасывая соединение с ошибкой 502 Bad Gateway. Такое бывает, когда скрипты написаны разработчиками без должной оптимизации.
На хостинге используется связка веб-серверов nginx (front-end) + apache (back-end)
У nginx указаны оптимальные параметры для заголовков:
Прочие причины:
Если используется НЕ режим работы Apache, а PHP-FPM (FastCGI), в этом случае 502 ошибка может быть вызвана достижением лимита количества рабочих pool-процессов PHP-FPM. Это тоже самое, что ошибка 503 у режима работы Apache.
В этом случае убедитесь что в настройках www-домена включено кеширование и постарайтесь оптимизировать сайт.
В некоторых случаях, когда ошибка 502 появляется периодически, а исправить скрипты не представляется возможным, временно может помочь очистка cookies и кеша в браузере.
Ошибка 503 — 503 Service temporarily unavailable
Ошибка 503 (Service Temporarily Unavailable) – обслуживание временно недоступно.
Многие не до конца понимают причины появления ошибки 503 и считают, что во всем виноват сервер.
5хх ошибки действительно серверные, но это не всегда значит, что проблема именно на стороне сервера.
Информация для более детального понимая проблемы.
Что же такое хостинг? Хостинг — некоторое количество аккаунтов на одном физическом или виртуальнорм сервере, в каждом аккаунте может быть не один сайт и основное ограничение — это ограничение по нагрузке аккаунта пользователя на сервер, а так же некоторые лимиты в конфиугарации веб-сервера. Со стороны веб-сервера apache, для предотвращения падения всего сервера и всех сайтов клиентов, каждому сайту устанавлен параметр MaxClientsVHost от 10 до 25 (в зависимости от тарифа).
Таким образом, в случае какого-либо аномально большого количества HTTP запросов к одному из сайтов, сработает лимит MaxClientsVHost, при достижении которого, веб-сервер на последующие запросы начнёт возвращать HTTP ошибку 503. Делать это он будет до того времени, пока предыдущая очередь рабочих процессов веб-сервера, которые уже занимаются обработкой HTTP запросов, не будет высвобождена. Это позволяет сохранить работоспособность всех остальных сайтов, в том числе других клиентов в случае каких-либо аномалий на одном сайте одного конечного клиента.
Сервер ограничен в вычислительных мощностях, поэтому есть ограничения по нагрузке для каждого аккаунта и есть лимиты через конфигурацию веб-сервера. Если серьезная нагрузка длится слишком долго — может «рухнуть» весь сервер, все аккаунты пользователей и все сайты — вот тут и возникает ошибика 503 (Service Temporarily Unavailable) говорящая о том, что веб-сервер временно не может обрабатывать больше запросов на данном сайте и необходимо подождать пока очередь текущих рабочих процессов уменьшиться и можно будет дальше обрабатывать запросы.
Мы рассмотрели, как устроен хостинг и теперь постараемся описать основные причины, при которых может расти очередь, и, по возможности, пути решений этой проблемы. Иногда это может быть очень сложной задачей и собственных знаний может не хватить, но тем не менее, рассмотрим варианты:
— Зависание скриптов при передаче больших статичных файлов через PHP.
Пример — отдача изображений миниатюр не напрямую по URL таких статичных файлов, а через php. Статичные файлы, к примеру изображения, лучше всего передавать напрямую, не используя скрипты. Почему? Скрипты работают определенное время, а не постоянно и при окончании времени работы скрипта прерывается передача файла, соответственно файл не будет передан полностью, а запрос оставит процесс веб-сервера работать ещё длительное время. Также, каждая передача файлов через PHP — это отдельный рабочий процесс веб-сервера apache (количество которых ограничено), а для передачи статичных файлов напрямую будет использоваться отдельный многопоточный процесс веб-сервера nginx, который может обрабатывать множество потоков, а значит не будет влияния передачи файла на загрузку и срабатывания лимита при отдаче статики.
— Удаленное соединение с другим сервером (сайтом и т.д.).
Удаленных соединений, по возможности, лучше избегать, но если оно необходимо, то желательно выставлять маленькие значения таймаутов ожидания ответов от другого сервера, так как удаленный сервер может быть недоступен в определенное время, что может вызывать постоянные запросы на соединение с удаленным сервером. Поэтому в таких случаях очень важна хорошая связь с этими удаленными серверами.
Также часто используют вставки отдельных функций, кодов и т.д. (include) и если эти функции располагаются в одном аккаунте — используйте только локальные пути, а не в виде вставки url-адреса (). Лучше вставить конструкцию, например, такого вида: http://site.ru/file.phpinclude 'file.php';. Это не будет делать дополнительный внешний запрос на сервер и тем самым вы снизите нагрузку, уменьшите количество создаваемых процессов.
— Очень тяжелые или испорченные дополнения систем управления сайтами (при использовании CMS и прочих скриптов).
Для нахождения таковых можно отключать дополнения (плагины, хаки, модули и т.д.) по отдельности. Возможно при включении/отключении вы заметите, что сайт станет быстрее/медленнее загружаться. Далее вы сможете найти более легкую замену или исправить поврежденные дополнения. Также в дистрибутив многих CMS включены дополнения, которые лично вам могут быть не нужны, поэтому лучше их удалить.
— Задания выполняющиеся долгое время.
Иногда в самих скриптах пишут задания на выполнение чего-либо по расписанию (например в тех же mambot’ах в joomla и wp-cron в wordpress). Если их можно перенести в планировщик (cron), то лучше это сделать через cron, так как такие задания выполняются вместе с запросами пользователей и тем самым замедляют загрузку сайта и увеличивают нагрузку, а в некоторых случаях сайт вовсе перестает загружаться если задание «тяжелое» и выполняется длительное время.
— Почтовые рассылки.
Рассылки писем могут влиять на загрузку сайта, тем не менее они часто бывают необходимы и их так же лучше оптимизировать. Скрипт запуска рассылки можно добавить в планировщик (cron), как и в случае с mambot’ами в joomla. Управление планировщиком находится в панели управления хостингом и доступно при соответствующем тарифе. Запускать такие скрипты лучше во время наименьшей нагрузки, например ночью, когда на сайте меньше всего посетителей.
— Медленные или не оптимизированные запросы sql к базе данных.
Пути решения в этом случае – использование кеширования, оптимизация запросов и индексация таблицы базы данных по столбцам (сортировка, упорядочивание). Также, если все это не помогает, стоит подумать о смене скрипта на более оптимизированный.
— Большое количество запросов к серверу.
Старайтесь избегать лишних запросов. Запросы могут исходить не только от посетителей ваших сайтов, но и, например, от индексирующих ботов с поисковиков, sape-подобные биржи и т.д, также увеличивается количество запросов при использовании большого количества url на файлы (изображения, js-скрипты, css-стили), которые загружаются через отдельные запросы (при включенном только apache вместо nginx+apache кеш статики). По возможности, объединяйте большое количество css, js файлов в один файл по типу.
Также запросы могут исходить, например, от чата или какого-то участка, блока на сайте, который посылает ajax-запросы на сервер. Многие из нас любят открывать несколько вкладок в браузере — нужно учитывать, что от этого так же может увеличиваться количество запросов и соответственно процессов веб-сервера.
Вставка iframe-кодов на сайте тоже может быть причиной ошибки 503.
Еще один пример увеличения запросов — использование другими сайтами ваших ресурсов (ссылки на файлы, картинки, различные информеры). Возможный выход это использование антилич системы в борьбе с этим.
DDoS-атаки, флуд, спам в комментариях, или в других веб-формах на сайте так же могут вызывать большое количество запросов.
Если у вас все оптимизировано, используется кеширование, минимум запросов и просто не хватает ресурсов на используемом тарифе, тогда остается задуматься о переходе на другие тарифные планы.
Многие веб-мастеры хотят недорогие тарифы, при этом про оптимальное расходование ресурсов многие просто забывают или не хотят задумываться. На WebHOST1 разработаны оптимальные тарифы и нужно просто подобрать необходимый для вас тариф, что можно осуществить самостоятельно в биллинге.
Наконец, если вашим сайтам не хватает максимального тарифа и часто возникает 50х ошибка, а вы не знаете как избежать данной проблемы — значит требуется больше ресурсов и вам нужен, как минимум, виртуальный либо выделенный сервер.
Ошибка 504 — 504 Gateway time-out
Этот код ответа означает, что клиентский запрос nginx передал apache, а apache не смог в установленный лимит времени вернуть HTTP-ответ?, в рузультате сервер разрывает сетевое соединение по таймауту. Причиной может быть долгая работа процесса — сценария, запущенного скриптом веб-сайта.
Можно попробовать увеличить выделенное время для php, прописав в корне сайта в файл .htaccess код:
# время выполнения скрипта - сценария php_value max_execution_time 60 # время загрузки данных php_value max_input_time 60
Однако это не избавит от таймаута веб-сервера с 504 ошибкой. Таймаут веб-сервера в рамках виртуального хостинга изменить не представляется возможным.
В статье мы расскажем, как исправить ошибку (код состояния) 500 со стороны пользователя и администратора сайта, а также подробно разберём, что такое ошибка запроса 500.
Что такое внутренняя ошибка сервера 500
Код ошибки 5хх говорит о том, что браузер отправил запрос корректно, но сервер не смог его обработать. Что значит ошибка 500? Это проблема сервера, причину которой он не может распознать.
Сообщение об ошибке сопровождается описанием. Самые популярные варианты:
- Внутренняя ошибка сервера 500,
- Ошибка 500 Internal Server Error,
- Временная ошибка (500),
- Внутренняя ошибка сервера,
- 500 ошибка сервера,
- Внутренняя ошибка HTTP 500,
- Произошла непредвиденная ошибка,
- Ошибка 500,
- HTTP status 500 internal server error (перевод ― HTTP статус 500 внутренняя ошибка сервера).
Дизайн и описание ошибки 500 может быть любым, так как каждый владелец сайта может создать свою версию страницы. Например, так выглядит страница с ошибкой на REG.RU:
Как ошибка 500 влияет на SEO-продвижение
Для продвижения сайта в поисковых системах используются поисковые роботы. Они сканируют страницы сайта, проверяя их доступность. Если страница работает корректно, роботы анализируют её содержимое. После этого формируются поисковые запросы, по которым можно найти ресурс в поиске.
Когда поисковый робот сканирует страницу с ошибкой 500, он не изменяет её статус в течение суток. В течение этого времени администратор может исправить ошибку. Если робот перейдёт на страницу и снова столкнётся с ошибкой, он исключит эту страницу из поисковой выдачи.
Проверить, осталась ли страница на прежних позициях, можно с помощью Google Search Console. Если робот исключил страницу из поисковой выдачи, её можно добавить снова.
Код ошибки 500: причины
Если сервер вернул ошибку 500, это могло случиться из-за настроек на web-хостинге или проблем с кодом сайта. Самые распространённые причины:
- ошибки в файле .htaccess,
- неподходящая версия PHP,
- некорректные права на файлы и каталоги,
- большое количество запущенных процессов,
- большие скрипты,
- несовместимые или устаревшие плагины.
Решить проблему с сервером можно только на стороне владельца веб-ресурса. Однако пользователь тоже может выполнить несколько действий, чтобы продолжить работу на сайте.
Что делать, если вы пользователь
Если на определённом ресурсе часто возникает ошибка 500, вы можете связаться с владельцем сайта по инструкции.
Перезагрузите страницу
Удаленный сервер возвращает ошибку не только из-за серьёзных проблем на сервере. Иногда 500 ошибка сервера может быть вызвана небольшими перегрузками сайта.
Чтобы устранить ошибку, перезагрузите страницу с помощью сочетания клавиш:
- на ПК — F5,
- на ноутбуке — Fn + F5,
- на устройствах от Apple — Cmd + R.
Обратите внимание! Если вы приобретаете товары в интернет-магазине и при оформлении заказа появляется 500 Internal Server Error (перевод — внутренняя ошибка сервера), при перезагрузке страницы может создаться несколько заказов. Поэтому сначала проверьте, оформился ли ваш предыдущий заказ. Если нет, попробуйте оформить заказ заново.
Очистите кэш и cookies браузера
Кэш и cookies сохраняют данные посещаемых сайтов и данные аутентификаций, чтобы в будущем загружать веб-ресурсы быстрее. Если на ресурсе уже был статус ошибки 500, при повторном входе на сайт может загружаться старая версия страницы с ошибкой из кэша, хотя на самом деле страница уже работает. Очистить кэш и куки браузера вам поможет инструкция.
Если ни одно из этих действий не решило проблему, значит, некорректно работает сам сервер сайта. Вернитесь на страницу позже, как только владелец решит проблему.
Что делать, если вы владелец сайта
В большинстве случаев устранить проблему может только владелец сайта. Как правило, ошибка связана с проблемами в коде. Реже проблемы могут быть на физическом сервере хостинг-провайдера.
Ниже рассмотрим самые популярные причины и способы решения.
Ошибки в файле .htaccess
Неверные правила в файле .htaccess — частая причина возникновения ошибки. Чтобы это проверить, найдите .htaccess в файлах сайта и переименуйте его (например, в test). Так директивы, прописанные в файле, не повлияют на работу сервера. Если сайт заработал, переименуйте файл обратно в .htaccess и найдите ошибку в директивах. Если вы самостоятельно вносили изменения в .htaccess, закомментируйте новые строки и проверьте доступность сайта.Также может помочь замена текущего файла .htaccess на стандартный в зависимости от CMS.
Найти директиву с ошибкой можно с помощью онлайн-тестировщика. Введите содержимое .htaccess и ссылку на сайт, начиная с https://. Затем нажмите Test:
Произошла непредвиденная ошибка
На экране появится отчёт. Если в .htaccess есть ошибки, они будут выделены красным цветом:
500 ошибка nginx
Активирована устаревшая версия PHP
Устаревшие версии PHP не получают обновления безопасности, работают медленнее и могут вызывать проблемы с плагинами и скриптами. Возможно, для работы вашего веб-ресурса нужна более новая версия PHP. Попробуйте сменить версию PHP на другую по инструкции.
Установлены некорректные права на файлы и каталоги сайта
В большинстве случаев корректными правами для каталогов являются «755», для файлов — «644». Проверьте, правильно ли они установлены, и при необходимости измените права на файлы и папки.
Запущено максимальное количество процессов
На тарифах виртуального хостинга REG.RU установлены ограничения на количество одновременно запущенных процессов. Например, на тарифах линейки «Эконом» установлено ограничение в 18 одновременно запущенных процессов, на тарифах «+Мощность» ― 48 процессов. Если лимит превышен, новый процесс не запускается и возникает системная ошибка 500.
Такое большое число одновременных процессов может складываться из CRON-заданий, частых подключений с помощью почтовых клиентов по протоколу IMAP, подключения по FTP или других процессов.
Чтобы проверить количество процессов, подключитесь по SSH. Выполните команду:
ps aux | grep [u]1234567 |wc -l
Вместо u1234567 укажите ваш логин хостинга: Как узнать логин хостинга.
Чтобы посмотреть, какие процессы запущены, введите команду:
Вместо u1234567 укажите логин услуги хостинга.
Командная строка отобразит запущенные процессы:
Код ошибки 500
Где:
- u1234567 — логин услуги хостинга,
- 40522 — PID процесса,
- S — приоритет процесса,
- /usr/libexec/sftp-server — название процесса.
Процесс можно завершить командой kill, например:
Вместо 40522 укажите PID процесса.
Чтобы решить проблему, вы также можете:
- увеличить интервал запуска заданий CRON,
- ограничить количество IMAP-соединений в настройках почтового клиента. Подробнее в статье Ограничение IMAP-соединений,
- проанализировать запущенные процессы самостоятельно или обратившись за помощью к разработчикам сайта.
Если вам не удалось самостоятельно устранить ошибку 500, обратитесь в техподдержку.
Скрипты работают слишком медленно
На каждом виртуальном хостинге есть ограничения на время выполнения скрипта. Если за установленное время скрипт не успевает выполниться, возникает ошибка сервера 500. Для решения проблемы обратитесь к разработчику сайта и оптимизируйте скрипты. Если оптимизировать нельзя, перейдите на более мощный вид сервера.
У пользователей VPS есть возможность увеличить максимальное использование оперативной памяти на процесс, но лучше делать скрипты меньшего размера.
Ошибка 500 на сайте, созданном на WordPress
WordPress предлагает много плагинов для создания хорошего сайта. Они значительно расширяют возможности CMS. Однако они же могут нарушать работу сайта и вызывать ошибку 500. Вызвать ошибку могут как недавно установленные плагины, так и старые.
Для начала проверьте, нужно ли обновить плагины. Часто устаревшие плагины перестают работать и вызывают проблемы работы сайта. Если все плагины обновлены, но 500 Internal Server Error остаётся, отключите все плагины, чтобы убедиться, что именно они мешают работе сайта. Как только станет понятно, что виноват один из плагинов, отключайте их по очереди, пока не найдёте тот, который нарушает работу сервера.
Как отключить плагин в WordPress
- 1.
-
2.
Перейдите во вкладку «Плагины» ― «Установленные».
-
3.
Нажмите Деактивировать у плагина, который, как вам кажется, повлиял на работу сайта:
Если все ваши действия не решили проблему или вы не уверены в своих технических знаниях, обратитесь к службе технической поддержки. Сообщите время обнаружения проблемы и опишите все действия, которые вы предприняли перед обращением. Специалисты сделают детальную проверку настроек вашего сайта и при необходимости обратятся к администраторам сервера на стороне хостинг-провайдера.
-
#231
хотелось бы что бы было зачеркнутое Р
В style.css прописываем @font-face{
font-family: ‘alsrubl’;
src: url(‘/fonts/alsrubl-arial-regular.ttf’);
} .Предварительно создав в корне папку fonts, где разместите скаченый вами шрифт.
Для просмотра ссылки Войди или Зарегистрируйся
Вернемся в style.css найдем и пропишем b.price-num{
font-family: ‘alsrubl’;
font-size:100%;
font-weight:normal !important;
}
затем создай в админке валюту рубль, пропиши значение руб.
после зайди в phpadmin в базу данных найди таблицу currencies поле рубль редактировать в поле где стоит руб. поставь <b class=»price-num»>Р</b>. Сохрани изменения и все. Если зайдешь в админку в рубль, все сбросится, будет стоят просто Р, потом придется заново.
-
#232
В style.css прописываем @font-face{
font-family: ‘alsrubl’;
src: url(‘/fonts/alsrubl-arial-regular.ttf’);
} .Предварительно создав в корне папку fonts, где разместите скаченый вами шрифт.
Для просмотра ссылки Войди или Зарегистрируйся
Вернемся в style.css найдем и пропишем b.price-num{
font-family: ‘alsrubl’;
font-size:100%;
font-weight:normal !important;
}
затем создай в админке валюту рубль, пропиши значение руб.
после зайди в phpadmin в базу данных найди таблицу currencies поле рубль редактировать в поле где стоит руб. поставь <b class=»price-num»>Р</b>. Сохрани изменения и все. Если зайдешь в админку в рубль, все сбросится, будет стоят просто Р, потом придется заново.
Я то думал че у меня все сбрасывается…
Спасибо! Будем пробовать!
-
#233
При установке 4ки на хостинг nic.ru. Выдает:
Ошибка 500
Возникла ошибка при обработке запроса
Возможные причины, по которым возникла эта ошибка:
- Ошибка выполнения скрипта
Проинформируйте пожалуйста, владельца сайта о возникшей ошибке. - Не хватает ресурсов для работы виртуального сервера
Попробуйте обратиться к сайту позже. Чего ему не хватает? Тройка ставится, а 4ка не хочет, вроде и модули все нужные стоят и памяти 3гига, выделенная 128…?
-
#234
При установке 4ки на хостинг nic.ru. Выдает:
Ошибка 500
у меня такая ошибка возникала при нехватке свободного места на сервере, а так 500 — любая внутренняя ошибка сервера. Сразу пишите в тех поддержку хостинка, она для этого и нужна
-
#235
При установке 4ки на хостинг nic.ru. Выдает:
Ошибка 500
Это может быть связанно с:
1) Файлом .htaccess
2) Права доступа к файлам (например на запись)
3) Ограничения на хостинге (например на количество файлов)
А вообще смотри в логах… Там все подробно должно быть написано
-
#236
Попробуйте TimeWeb на максимальном тарифе для Bitrix. Тестировал на четверке, скажу честно доволен работой, сайты работают отлично. До этого использовал Ukraine, не хватает даже на самом мощном тарифе хостинга (постоянно ругаются и грозятся отключить). Многие говорят, что в идеале взять сервер, но на первое время он совсем и не нужен, так как справится и мощный тариф проверенного хостинга.
-
#238
Лучше купить дроплет за 5 баксов на Для просмотра ссылки Войди или Зарегистрируйся
Вариантов на самом деле много, так как компаний предоставляющих услуги хостинга уйма…
-
#239
Вариантов на самом деле много, так как компаний предоставляющих услуги хостинга уйма…
Ну да, здесь дело в цене уже.
-
#240
Ребята , как заменить Tags и Reviews . На «Теги» и «Отзывы»
Последнее редактирование: 9 Дек 2013