Содержание
Ошибка сервера 500. Как её исправить?
Методы решения внутренней ошибки сервера 500
Метод решения зависит от типа возникшей проблемы на сервере. Поэтому предварительно необходимо продиагностировать варианты ошибок.
Произвольный php сайт
На самописных сайтах чаще всего два варианта возникновения ошибки 500: ошибка в .htaccess и слишком долгое выполнение скрипта. Если ошибка в хтаксес, то необходимо откатить файл до предыдущей версии. Если не поможет, то просто очистите его и по строке добавляйте, чтобы найти проблемные директивы. С ними и нужно будет работать. Вероятно, отключен какой-то модуль на стороне сервера.
Если же слишком долго выполняется скрипт, то необходимо его оптимизировать. А это уже вопрос к разработчику. Некоторые скрипты, например, интеграции с обменом данными могут выполняться очень долго, поэтому целесообразно рассмотреть переезд на более мощный сервер.
Ошибка 500 в WordPress
В вордпрессе internal server error 500 возникает по следующим причинам:
- Неполадки после обновления ядра сайта
- Конфликты с плагинами
- Ошибки в . htaccess
- Превышено время выполнения скрипта
Неполадки после обновления очень сложно отследить. Именно поэтому всегда делайте бэкап перед обновлением! Это убережет вас от случайного возникновения 500 ошибки. Если бэкапа нет, то попытайтесь его запросить у хостинговой компании (в 99% случаев у них будет бэкап за последние сутки или неделю. Можно восстановиться из него). Если же даже хостер не может отдать вам бэкап, то нужно действовать так:
- Проверить все более простые варианты: например, ошибку в хтаксес
- Идти в логи сервера и искать проблемный скрипт
- Определить, почему он выдает ошибку и исправить её
На словах звучит просто, а на практике на решение вопроса может уходить десятки часов. Если у вас на сайте много трафика, то готовы ли вы так рисковать ради слепого обновления? Или лучше просто сделать бэкап?
Если же ошибка вызвана конфликтом плагинов, то тут проще: отключите все плагины (либо удалите их с сервера, они отключатся автоматически). И включайте их потом по одному. Так вы легко определите конфликтый.
Внутренняя ошибка 500 в Joomla
В Джумле очень часто ошибка 500 возникает при входе в админку. Подход к решению аналогичен написанному выше: диагностика + поиск решения.
Так выглядит ошибка 500 в Джумле
В Joomla лог ошибок лежит в папке logs. Файл называется error.php Если в нем пусто, то посмотрите на логи хостинга (уточните у своего хостера точное месторасположение файла). Скорее всего, вы там увидите скрипт, который выдает ошибку. Ну и дальше уже работайте с этим скриптом, устраняя ошибку.
Иногда ошибка 500 при входе в админку Joomla возникает из-за невозможности записи в папки /logs и /tmp В этом случае временно назначьте права 777 на них (затем обязательно измените на 755 и если ошибка снова проявится — пишите хостеру, т.к. это дыра в безопасности сервера).
Если и это не помогло, то пропишите в configuration.php следующее:
public $log_path = ‘full_path/logs’;public $tmp_path = ‘full_path/tmp’;
|
public $log_path = ‘full_path/logs’; public $tmp_path = ‘full_path/tmp’;
|
вместо full_path нужно указать полный путь к папке (именно серверный путь, а не http адрес!).
Этих решений достаточно в 95% случаев для решения данной проблемы. Если проблема не решится, то пишите, разберемся в индивидуальном порядке.
Устраняем ошибку 500 в opencart
В opencart ошибка сервера 500 появляется иногда сама собой. При этом в логах может не быть ничего указано. Интересно, что файл логов может разрастаться очень до больших размеров, тем самым вызывая пятисотую ошибку сервера.
Вот виновник вопроса (лог модуля vQmod): корень_сайта/vqmod/vqmod.log
Решения два: либо время от времени по крону очищать этот файл, либо обновить vQmod до последней версии (в ней файл обнуляется каждые 7 дней).
Ошибка 500 в Битриксе. Что делать?
Битрикс требователен к ресурсам хостинга, поэтому на слабых серверах может периодически возникать ошибка 500. Решение тут может быть только одно — переезд на более надежный и мощный сервер.
Но перед этим обязательно проверить файл error.log, именно в него пишутся все логи ошибок системы. Битрикс очень плотно работает с файловой системой, для него критичны права доступа, поэтому за ними нужно следить особенно тщательно!
Ошибка 500 (Internal Server Error) — как исправить?
Что это за ошибка?
Ошибка 500 — это Internal Server Error или внутренняя ошибка сервера. Еще ее называют «белый экран», WSOD (white screen of death — белый экран смерти)
Наверняка многие с этим сталкивались — при загрузке страницы сайта (часто после установки какого-то модуля или внесения каких-то правок в код сайта) вы видите белый экран и текст, который уже добавляет браузер чтобы как-то вам помочь понять что происходит, напр.
Server error 500
The website encountered an error while retrieving http://localhost/opencart/2200a1/. It may be down for maintenance or configured incorrectly.
Ошибка 500 чаще всего возникает тогда, тогда есть какая-то серьезная ошибка в коде сайта и интерпретатор не может этот код выполнить.
Эту ошибку бесполезно искать в логе OpenCart или других CMS.
Не поможет так же включение отображения ошибок на сайте:
display_errors = 1; error_reporting = E_ALL;
Что делать?
Вам нужен лог веб сервера.
Этот лог может находится:
— в настройках вашего хостинга (или целый лог или опция настроек чтобы его включить)
— в в корне сайта, например:
site.com/error.log
— в папке log выше сайта, напр
log/
site.com/
— в папке /var/log/apache2
— в других местах на вашем хостинге в зависимости он настроек вебсервера
Если вы не знаете где у вас на хостинге лог вебсервере — спросите у вашего хостера или почитайте документацию по хостингу.
Логов есть 2
Вебсервер обычно ведет 2 лога:
1. Лог доступа. Файл site.com.access.log. Этот лог вам не нужен, в нем информация кто и когда обращался к вашему сайту.
2. Лог ошибок. Файл site.com.error.log. Этот лог вам нужен.
Нашли лог, что дальше?
Вам нужно открыть файл лога в любом текстовом редакторе и посмотреть что там в самом конце.
Там может быть что-то такое:
[Sat Jan 23 21:31:39.991122 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP Fatal error: Class ‘Controllerdesigntheme’ not found in /var/www/html/opencart/2200a1/system/engine/action.php on line 36
Это значит что в файле /var/www/html/opencart/2200a1/system/engine/action.php
в строке 36 идет вызов класса Controllerdesigntheme, который не найден.
Имея эту информацию уже легко понять в чем проблема в каком файле, в какой строке и чего именно не хватает.
В этом файле также дается информация по трассировке ошибке, то есть какие функции в каких файлах что вызывали до того как случилась эта ошибка:
[Sat Jan 23 21:31:39.996914 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP Stack trace:
[Sat Jan 23 21:31:39.996951 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 1. {main}() /var/www/html/opencart/2200a1/admin/index.php:0
[Sat Jan 23 21:31:39. 996978 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 2. require_once() /var/www/html/opencart/2200a1/admin/index.php: 22
[Sat Jan 23 21:31:39.996988 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 3. Front->dispatch() /var/www/html/opencart/2200a1/system/framework.php:99
[Sat Jan 23 21:31:39.996995 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 4. Front->execute() /var/www/html/opencart/2200a1/system/engine/front.php:29
[Sat Jan 23 21:31:39.997001 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 5. Action->execute() /var/www/html/opencart/2200a1/system/engine/front.php:34
[Sat Jan 23 21:31:39.997007 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 6. call_user_func_array() /var/www/html/opencart/2200a1/system/engine/action.php:44
[Sat Jan 23 21:31:39.997013 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 7. ControllerStartupRouter->index() /var/www/html/opencart/2200a1/system/engine/action.php:44
[Sat Jan 23 21:31:39. 997019 2016] [:error] [pid 29493] [client 127.0.0.1:36811] PHP 8. Action->execute() /var/www/html/opencart/2200a1/admin/controller/startup/router.php:26
Это также важно для понимания как работает OpenCart.
Лог есть, а ошибок там нету.
Бывает такая ситуация, правда не часто. Это значит что на вашем вебсервере не правильно настроен лог.
В этом случае вам нужно написать вашему хостеру и попросить его настроить.
Потому что если сайт показывает ошибку 500 то эта ошибка (за очень редкими исключениями) должна быть в логе.
Внутренняя ошибка 500 при экспорте категорий/товаров с использованием OpenCart
ЦзышаньC
Гость
#1
Всем привет,
Я получаю сообщение об ошибке в своем домене, который я разместил на своем VPS Parallels Plesk 10. 4.
У меня был только VPS от 123-reg в течение 2 недель, мой сайт работал нормально, пока они не обновили VPS, теперь они настаивают на том, что я должен решить проблему Вот что они сказали: У вас есть полный корневой доступ к серверу через SSH, чтобы вы могли устранять неполадки и решать проблемы самостоятельно.
Я просмотрел журнал ошибок в CPanel Parellel Plesk 10, и это время, когда я пытался выполнить экспорт из администратора:
[Четверг, 24 мая, 16:42:12 2012] [предупреждение] [клиент [IP-АДРЕС СКРЫТ ]] mod_fcgid: тайм-аут чтения данных через 45 секунд
[Четверг, 24 мая, 16:42:12 2012] [ошибка] [клиент [IP-АДРЕС СКРЫТ]] Преждевременный конец заголовков скрипта: index.php
[Четверг, 24 мая, 16:42 :23 2012] [предупреждение] [клиент [IP-АДРЕС СКРЫТ]] mod_fcgid: тайм-аут чтения данных через 45 секунд, реферер: /admin/index.php?route=tool/export&token=2445a2f6f3bd36f0770c7937e513e681
Я объяснил им, что не знаю, как настроить VPS, и это то, что им нужно сделать. Все на сайте работает, кроме импорта / экспорта в разделе «Администратор», всякий раз, когда я запускаю это, сам сайт перестает отвечать.
Может ли кто-нибудь помочь здесь, пожалуйста?
Спасибо
Цзышань
ИгорьГ
Аналитик форумов
#2
Вы уверены, что это не связано с нехваткой ресурсов VPS? Вы проверили это?
ЦзышаньC
Гость
#3
как это проверить? Я новичок в VPS
ИгорьГ
Аналитик форумов
#4
Если у вас Virtuozzo VPS — внимательно прочитайте документацию Virtuozzo по распределению ресурсов.
Если у вас другая виртуализация — XEN, KVM, VMWare и т.д. — прочтите соответствующую документацию.
ЦзышаньC
Гость
#5
Я действительно не знаю, какой VPS 123-reg предоставил мне. Единственное, что я знаю, это то, что у него есть Parallels Plesk Panel 10.4.4.
ЦзышаньC
Гость
#6
Вот что он говорит о работоспособности сервера:
Использование ЦП Apache 4,1 % (?)
Использование ЦП почтового сервера 0 % (?)
Использование ЦП MySQL 10 % 1,03 (?)
Использование ЦП панели 1,7 % 5,68 (?) )
Использование памяти Apache 2,6 % (53,1 МБ из 1,96 ГБ) (?)
Использование памяти почтового сервера 0,2 % (4,42 МБ из 1,96 ГБ) (?)
Использование памяти MySQL Используется 3% (59,6 МБ из 1,96 ГБ) (?)
Использование памяти панели Используется 3,3% (65,3 МБ из 1,96 ГБ) 1,75 (?)
ЦзышаньC
Гость
#7
кто может помочь?
ЦзышаньC
Гость
#8
Привет всем,
дальнейшее обновление:
Я попытался снова запустить экспорт через серверную часть opencart и посмотрел на состояние сервера в Parallels Plesk Panel 10.4.4, и я прикрепил изображение, показывающее использование ЦП MySQL @ 44,6 % 1,75 (?)
Может ли кто-нибудь предложить, как я могу предотвратить это и как я могу это сделать? Я полагаю, что это является причиной ошибки Internal server 500.
Спасибо
Z
абди
Платиновый Плескиан
#9
ZishanC сказал:
Привет всем,
Я получаю сообщение об ошибке в своем домене, который я разместил на своем VPS Parallels Plesk 10.4.
У меня был только VPS от 123-reg в течение 2 недель, мой сайт работал нормально, пока они не обновили VPS, теперь они настаивают на том, что я должен решить проблему Вот что они сказали: У вас есть полный корневой доступ к серверу через SSH, чтобы вы могли устранять неполадки и решать проблемы самостоятельно.Я просмотрел журнал ошибок в CPanel Parellel Plesk 10, и это время, когда я пытался выполнить экспорт из администратора:
[Четверг, 24 мая, 16:42:12 2012] [предупреждение] [клиент [IP-АДРЕС СКРЫТ ]] mod_fcgid: тайм-аут чтения данных через 45 секунд
[Четверг, 24 мая, 16:42:12 2012] [ошибка] [клиент [IP-АДРЕС СКРЫТ]] Преждевременный конец заголовков скрипта: index. php
[Четверг, 24 мая, 16:42 :23 2012] [предупреждение] [клиент [IP-АДРЕС СКРЫТ]] mod_fcgid: тайм-аут чтения данных через 45 секунд, реферер: /admin/index.php?route=tool/export&token=2445a2f6f3bd36f0770c7937e513e681Я объяснил им, что не знаю, как настроить VPS, и это то, что им нужно сделать. Все на сайте работает, кроме импорта / экспорта в разделе «Администратор», всякий раз, когда я запускаю это, сам сайт перестает отвечать.
Может ли кто-нибудь помочь здесь, пожалуйста?
Спасибо
ЦзышаньНажмите, чтобы развернуть…
Отредактируйте файл:
/etc/httpd/conf.d/fcgid.conf
В частности, измените
FcgidIOTimeout 45
—
FcgidIOTimeout 3600
3600 секунд = 1 час. Должен быть достаточно длинным для большинства, но при необходимости отрегулируйте его вверх. Я видел один пример с указанием 7200 секунд.
Наконец, перезапустите Apache, чтобы активировать новый параметр.
апачектл изящный
ЦзышаньC
Гость
#10
Спасибо, но это не сработало, потому что выполнение запроса на экспорт так расстраивает, что весь домен падает
[электронная почта защищена]
Обычный Плескиан
#11
К вашему сведению, в Ubuntu (и, возможно, в других дистрибутивах на основе Debian) конфигурация находится в /etc/apache2/mods-available/fcgid. conf
Я изменил FcgidIOTimeout на 120. 45 секунд было слишком мало для некоторых конкретных скриптов экспорта и некоторых других, 120 секунд здесь вполне достаточно. Лично меня не волнует подход дробовика, установив его на 1 или 2 часа (кроме того, ограничение времени выполнения PHP сработает до этого) — 1 скрипт, работающий в течение 1 или 2 часов, здесь в любом случае не принимается. Но любого значения, превышающего время, необходимое для запуска, должно быть достаточно. Я бы добавил немного для случаев, когда сервер может быть занят и другими вещами.
OpenCart внезапно перестал работать: Ошибка HTTP 5…любые кодировки
Вопросы: OpenCart внезапно перестал работать: Ошибка HTTP 500
399
Последний месяц пользуюсь OpenCart v1. 5.5.1 anycodings_http и пара десятков заказов прошла нормально.
Сегодня я внезапно получаю ошибку HTTP 500, когда anycodings_http обращается к www.domain.com/shop/*, но anycodings_http www.domain.com работает нормально. До сих пор я пробовал anycodings_http безрезультатно:
- перезагрузил сервер
- очищен /logs/error.txt
- удален .htaccess
Последняя ошибка в журналах:
2013-03-17 19:10:11 - Уведомление PHP: Ошибка: Таблица 'shop_db.geo' не существует
Номер ошибки: 1146
ВЫБЕРИТЕ g.id, g.full_name, g.name, g.postcode, z.zone_id, z.country_id FROM geo g LEFT JOIN zone z ON g.zone_id = z.zone_id, ГДЕ g.name КАК '99%' И g .postcode <> '' ЗАКАЗАТЬ ПО НАСЕЛЕНИЮ DESC LIMIT 12 в /var/www/domain.com/html/shop/system/database/mysql.php в строке 50 2013-03-17 19:10:11 - Уведомление PHP: Ошибка: Таблица 'shop_db.geo' не существует
Номер ошибки: 1146
ВЫБЕРИТЕ g.id,g.full_name,g.name,g.postcode,z .zone_id,z.country_id FROM geo g LEFT JOIN zone z ON g. ?]*) index.php?_route_=$1 [L,QSA] ### Дополнительные настройки, которые могут потребоваться для некоторых серверов ### Раскомментируйте команды, удалив перед ними знак #. ### Если вы получаете "Внутреннюю ошибку сервера 500" после включения любого из следующих параметров, восстановите #, так как это означает, что ваш хост не разрешает это. # 1. Если ваша корзина позволяет добавлять только один товар за раз, возможно, включена функция register_globals. Это может помочь отключить его: # php_flag register_globals выключен # 2. Если в вашей корзине включены волшебные кавычки, это может сработать, чтобы отключить их: # php_flag magic_quotes_gpc Выкл. # 3. Установите максимальный размер загружаемого файла. Большинство хостов ограничат это и не позволят переопределить, но вы можете попробовать # php_value upload_max_filesize 999М # 4. Установите максимальный размер сообщения. раскомментируйте эту строку, если у вас много вариантов продукта или вы получаете ошибки, когда формы не сохраняют все поля # php_value post_max_size 999M # 5. Установите максимальное время, которое может занять скрипт. раскомментируйте эту строку, если у вас много вариантов продукта или вы получаете ошибки, когда формы не сохраняют все поля # php_value max_execution_time 200 # 6. установить максимальное время для получения ввода. Раскомментируйте эту строку, если у вас много вариантов продукта или возникают ошибки, когда формы не сохраняют все поля. # php_value max_input_time 200 # 7. отключить ограничения open_basedir # php_admin_value open_basedir нет # 8. заставить экран входа администратора всегда загружаться по HTTPS #RewriteEngine включен #RewriteCond %{HTTPS} выкл. #RewriteRule (.*) https://www.overair.ca/shop/admin/ [R]
и php.ini
magic_quotes_gpc = Off; register_globals = Выкл.; default_charset = UTF-8; memory_limit = 64M; максимальное_время_исполнения = 36000; upload_max_filesize = 999M; безопасный_режим = Выкл; mysql.connect_timeout = 20; session.use_cookies = Вкл.; session. use_trans_sid = Выкл.; session.gc_maxlifetime = 172800; разрешить_url_fopen = вкл.; ;display_errors = 1; ;отчет об ошибках = E_ALL;
Однако я заметил, что в течение последних нескольких дней они работали с anycodings_http без каких-либо проблем. Прежде чем anycodings_http я восстановил из резервной копии и потерял пару заказов anycodings_http, я надеялся, что кто-то может помочь.
Спасибо за ваше время!
Админы
HTTPOPENCART
Всего ответов 1
32
Ответы 1 : OpenCart внезапно перестал работать: Ошибка HTTP 500
Номер ошибки. 1146 означает, что таблица, к которой пытается подключиться anycodings_opencart, отсутствует в базе данных anycodings_opencart, вы можете проверить базу данных anycodings_opencart и увидеть, что таблица есть, а anycodings_opencart также проверить config.