Время прочтения
2 мин
Просмотры 43K
В этой трехминутной статье я хочу затронуть наболевшую тему.
Речь пойдет о статус коде HTTP 200 и ошибках в ответе.
HTTP/1.1 200 OK
{
"error": {
code: 2019,
message: "Validation failed: field 'size' is invalid: the value is not a number"
}
}
Нормально ли возвращать такой код, если возникла ошибка?
Нет? Да? Ну-ка давайте разберемся.
Случай 1. HTTP 200 и batch операция
Допустим отправляется один запрос. Запрос выполняется успешно. Возвращаем код 200. Ответ не содержит информации об ошибке. С этим случаем всё предельно просто и понятно. А что делать если требуется выполнить batch операцию?
Например, мы работаем с сервером изображений. Предоставляемый API позволяет загрузить за один запрос сразу несколько файлов.
Запрос выглядит примерно так:
{
"sources": [
{"image": "http://myserver.com/image1.jpg"},
{"image": "http://myserver.com/image2.jpg"},
{"video": "http://myserver.com/video.jpg"}
]
}
Предположим, по какой-то причине (например, кончилось место на сервере) видео загрузить не удалось. Что бы вы вернули в таком случае? 2xx или 4xx или 5xx? Сервер, отвечает примерно вот так:
HTTP/1.1 200 OK
{
"results": [
{ "status": "ok", "id": 312 },
{ "status": "ok", "id": 313 },
{ "status": "fail", "error": "NO SPACE" }
]
}
Некоторые сервисы (и вполне известные) действуют также. Отвечают 200. А в ответе возвращают список команд, которые выполнить не получилось.
Случай 2. HTTP 200 и ошибки в ответе
Пришёл запрос. Запрос зафейлился. Например, мы забыли указать какое-то поле. Или дату отправили не в миллисекундах, а как строку. Тут-то точно не надо возвращать 200! Но увы и нет.
Где-то на просторах интернета я встречал проекты на github и bitbucket, которые специально предназначены для таких вот случаев. В них просто вшиты возможные варианты и шаблоны. Можно их достаточно легко встроить в свой проект и как бы быть готовым к разного рода «падениям» запросов. Но есть одно но.
В такие моменты твой код становится уродливым. Ты ему говоришь:
— Cлушай, у нас тут есть один внешний API. Он в целом нормальный. Только надо внимательно смотреть что в ответе приходит. Если там ответ содержит поле «error», то значит запрос сломался.
— Но ведь для этого же есть 4xx и 5xx! Да кто вообще так делает?!
— Тише-тише. Не надо так громко. Он может услышать. Пожалуйста, будь добрее к нему. И просто смотри не только на статус код, но и на ответ, пожалуйста.
— Ладно…
HTTP 200 — это просто статус
Ну 200 и 200. Ну не запилили. Или не успели. Или вообще не будут. Ну и что?! Написал json парсер и всё!
Как бы да, но я хочу знать почему. Забыли? Забили? Не успели? Не знали?
Возможно я что-то упускаю. Или не знаю. Хочу ваше мнение. Срочно. Всем добра и выходных на выходных.
В этой статье представлен номер ошибки Ошибка 200, широко известный как Ok, описанный как Стандартный HTTP-ответ на успешные запросы.
О кодах состояния
Когда вы получаете коды веб-ошибок, у вас могут быть проблемы либо с клиентом, либо с сервером. Проблема может быть связана с браузером или настройками, которые блокируют ваше соединение, или это могут быть любые другие проблемы, связанные с сервером, к которому вы пытаетесь получить доступ.
Чтобы объяснить проблему подробнее, вот несколько полезных сведений о кодах веб-ошибок, их симптомах, причинах и методах устранения.
Определения (Бета)
Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!
- Http — протокол передачи гипертекста HTTP — это сетевой протокол прикладного уровня, который используется для передачи контента во всемирной паутине.
- Ответ — Ответ — это общий термин для сообщения, которое отправляется в качестве ответа на ранее сделанный запрос.
- Запросы — Запросы — это полнофункциональная HTTP-библиотека Python с простым в использовании и логичным API.
- Стандарт — стандарты официально опубликованы или хорошо согласованы в отношении форматов, процедур или протоколов.
Симптомы Ошибка 200 — Ok
Коды веб-ошибок также известны как коды состояния http. Существует пять различных классов кодов состояния http, и они всегда начинаются со следующих цифр, в зависимости от того, с какой ошибкой столкнулся пользователь. Это также симптомы ошибки, с которой столкнулся пользователь. Для дальнейшего объяснения ниже приведены коды состояния.
2xx: Успех
Этот статусный ответ означает, что запрошенное действие было получено, понято и принято. Однако вместо фактического запрошенного элемента возвращается отчет о состоянии, который является измененной версией ответа источника или что в ответ не было отправлено никакого содержимого. Другими словами, пользователи сталкиваются с медленным ответом или его отсутствием. Вот полученные сообщения:
200 — OK
201 — Создано
202 — Принято
203 — Неавторитетная информация
204 — Нет содержимого
205 — Сброс содержимого
206 — Частичное содержание
(Только для примера)
Причины Ok — Ошибка 200
2XX коды возникают для подтверждения получения и обработки запроса.
Методы устранения
Для определенных кодов веб-ошибок существуют конкретные шаги по устранению неполадок. Однако существуют и обобщенные методы устранения, которые пользователи могут применять при возникновении подобных ошибок.
Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.
Обратите внимание: ни ErrorVault.com, ни его авторы не несут ответственности за результаты действий, предпринятых при использовании любого из методов ремонта, перечисленных на этой странице — вы выполняете эти шаги на свой страх и риск.
Метод 1 — Очистить кеш браузера
При доступе к сайту данные сохраняются в кеше браузера. Иногда вы пытаетесь исправить веб-ошибку, но в вашем браузере появляется такое же сообщение. В таких случаях вам необходимо очистить кеш браузера, чтобы избавиться от надоедливого сообщения. Вот способы сделать это в разных браузерах:
- В Google Chrome
- Откройте Chrome и нажмите три точки в правом верхнем углу браузера.
- Нажмите Дополнительные инструменты , а затем нажмите Очистить данные просмотра .
- Вы можете удалить все или только определенный период просмотра.
- Установите флажки рядом с файлами cookie и другими данными сайта и кэшированными изображениями и файлами .
- Наконец, нажмите Очистить данные .
- На краю
- Нажмите … это крайняя правая кнопка под кнопкой закрытия.
- Прокрутите вниз и нажмите «Настройки».
- Найдите пункт «Очистить данные просмотра» и нажмите кнопку «Выбрать, что очистить».
- Это даст вам возможность выбрать, какой тип данных вы хотите очистить, просто поставьте галочку на тех элементах, которые хотите включить, затем нажмите «Очистить».
- В Mozilla
- Перейдите в меню «История» и выберите «Очистить недавнюю историю».
- Вы можете нажать кнопку Alt, если строка меню скрыта.
- Вы увидите раскрывающееся меню, в котором вы можете выбрать период или диапазон, который хотите удалить, и щелкните свой выбор.
- Вы можете нажать «Подробности», чтобы выбрать, что нужно очистить, будь то весь кеш или другие элементы.
- После выбора нажмите «Очистить сейчас» и перезагрузите браузер, чтобы изменения вступили в силу.
Метод 2 — Проверить журналы
- Если вы хотите проверить файлы журналов, вы можете сделать это, сначала убедившись, что вы вошли на компьютер веб-сервера как администратор.
- Нажмите «Пуск», затем «Настройка», затем нажмите «Панель управления».
- Откройте Инструменты администратора и дважды щелкните Диспетчер служб Интернета.
- Выберите веб-сайт из списка различных обслуживаемых сайтов.
- Щелкните веб-сайт правой кнопкой мыши и затем наведите указатель мыши на «Свойства».
- Выберите вкладку «Веб-сайт» и нажмите «Свойства». На нем вы увидите вкладку Общие свойства. Внизу окна вы можете увидеть расположение сгенерированных файлов журнала.
- Открывайте файлы журналов с помощью WordPad, любого средства просмотра текстовых файлов или Microsoft Word.
- Здесь вы сможете проанализировать, где возникли ошибки при доступе к серверу.
Метод 3 — Проверить запрошенный URL
- Бывают случаи, когда вы вручную вводите URL-адрес сайта, который хотите изучить. Если после этого вы получаете ошибки, проверьте URL-адрес, который вы только что ввели в адресной строке, если вы действительно получаете доступ к правильному адресу. Если нет, исправьте элементы, которые вы ввели неправильно.
Метод 4 — Удалить последние обновления
Для Windows 7
- Найдите обновления Windows в строке поиска.
- Нажмите «Ввод», когда он появится в результатах поиска.
- Проверьте последние обновления и нажмите Удалить обновления в те дни, когда возникла ошибка.
Для Windows 8 и Windows 10
- Нажмите одновременно кнопку окна и букву X, чтобы открыть настройки.
- Когда вы перейдете к настройкам Windows, нажмите «Обновление и безопасность».
- Нажмите «Просмотреть историю установленных обновлений», а затем «Удалить обновления».
Метод 5 — Удалить расширения
- Иногда дополнительные расширения могут выдавать коды веб-ошибок.
- Удалите недавно установленные расширения, зайдя в настройки браузера и нажав «Дополнительные инструменты».
- Вы увидите расширения, которые не были установлены в вашем браузере, выберите последнее дополнение, которое, как вы подозреваете, вызвало возникшую у вас проблему.
Метод 6 — Проверить конфигурацию сервера
- Устранением неполадок обычно занимается администратор сайта. Если это вы, то вам необходимо иметь представление о конфигурации веб-сервера.
- Вы можете проверить, на каком веб-сервере работает ваш сайт, с помощью средств проверки URL или домена. Вам просто нужно ввести адрес сайта и проанализировать результаты, которые вы получите.
- Вы также можете проверить неработающие ссылки, щелкнув веб-страницу правой кнопкой мыши и выбрав «Проверить». Это должно дать вам код сайта справа. Вы можете проверить каждый якорный текст и убедиться, что связанные с ними ссылки все еще активны.
Метод 7 — Другие техники
- Вы также можете проверить наличие нежелательных символов в кодах и сценариях с помощью отладки кодов приложений и сценариев. Если вы не знаете, как это сделать, вы можете проверить этот ресурс для этого.
- Вы также можете попробовать Обновить веб-сайт. Иногда вы получаете старую ошибку, которая никуда не делась, и простое обновление, нажав F5, может сработать.
Другие языки:
How to fix Error 200 (OK) — Standard HTTP response for successful requests.
Wie beheben Fehler 200 (OK) — Standard-HTTP-Antwort für erfolgreiche Anfragen.
Come fissare Errore 200 (ok) — Risposta HTTP standard per richieste riuscite.
Hoe maak je Fout 200 (Oke) — Standaard HTTP-antwoord voor succesvolle verzoeken.
Comment réparer Erreur 200 (d’accord) — Réponse HTTP standard pour les requêtes réussies.
어떻게 고치는 지 오류 200 (좋아요) — 성공적인 요청에 대한 표준 HTTP 응답입니다.
Como corrigir o Erro 200 (OK) — Resposta HTTP padrão para solicitações bem-sucedidas.
Hur man åtgärdar Fel 200 (OK) — Standard HTTP -svar för framgångsrika förfrågningar.
Jak naprawić Błąd 200 (ok) — Standardowa odpowiedź HTTP dla udanych żądań.
Cómo arreglar Error 200 (OK) — Respuesta HTTP estándar para solicitudes exitosas.
Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.
Следуйте за нами:
Последнее обновление:
22/12/19 02:37 : Пользователь Windows 10 проголосовал за то, что метод восстановления 2 работает для него.
Рекомендуемый инструмент для ремонта:
Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.
ШАГ 1:
Нажмите здесь, чтобы скачать и установите средство восстановления Windows.
ШАГ 2:
Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.
ШАГ 3:
Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.
СКАЧАТЬ СЕЙЧАС
Совместимость
Требования
1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.
ID статьи: ACX01627RU
Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000
Ошибки в алфавитном порядке: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Логотипы Microsoft и Windows® являются зарегистрированными торговыми марками Microsoft. Отказ от ответственности: ErrorVault.com не связан с Microsoft и не заявляет о такой связи. Эта страница может содержать определения из https://stackoverflow.com/tags по лицензии CC-BY-SA. Информация на этой странице представлена исключительно в информационных целях. © Copyright 2018
Если сайт внезапно перестал работать, диагностировать и устранить проблему поможет этот небольшой чек-лист.
Вначале рассмотрим основные проблемы на стороне сервера.
Место на диске
Это одна из самых популярных причин в остановке сервисов. Место может заполнится логами, бэкапами, если они сохраняются локально, кэшем сайта.
Если есть доступ к серверу по SSH, то достаточно запустить команды:
df -i df -h
Они покажут, сколько места занято на диске в процентах. Если занято 100%, то службы сервера, например, mysql
, не смогут создавать временные файлы и сайты перестанут работать. В этом случае необходимо освободить место на диске, либо увеличить его. Более подробно в этой статье:
Что делать, когда осталось мало места на диске
Доступность служб
Как правило, для работы сайтов необходимо, чтобы был запущен веб-сервер и сервер БД mysql
. Проверить статус служб можно через отдельный пункт ISPmanager:
Если с какой-то из служб возникла проблема, то «лампочка» не включится, и тогда необходимо будет разбираться с этой службой отдельно. Так же, в большинстве случаев, об этом скажет главная страница сайта: либо отображается код ошибки, например, 500
, 502
, 504
, либо непосредственно сам текст с отладочной информацией, если это позволяют настройки CMS, движка, на котором написан сайт.
Мы рассмотрели настройки со стороны сервера — если всё корректно по диагностике из предыдущих пунктов, но сайт по-прежнему не работает, то необходимо сужать круг поиска возможных причин ошибок и провести диагностику сайта.
Рассмотрим вариант дальнейших действий, если на сервере установлена панель управления ISPmanager.
Просмотр логов
Первым делом следует проверить:
- не вносились ли изменения в код сайта,
- не обновлялась ли CMS и плагины,
- не была ли изменена версия PHP,
- имеются ли резервные копии, на случай, если сайт не получится «реанимировать».
В последующей диагностике нам помогут логи. Если вы используете панель ISPmanager, то первым делом необходимо убедиться, включен ли лог ошибок.
Сайты
— нужный домен — изменить:
Выводимые сайтом ошибки можно посмотреть по пути
/var/www/http-logs/имя-сайта.error.log
например, запустив команду tail
, подключившись к серверу по SSH:
Необходимо убедиться, что нужные параметры PHP для выявления ошибки, такие как:
error_reporting display_errors display_startup_errors log_errors
включены.
Проверить это можно в том же ISPmanager во вкладке:
Настройки
— Настройки PHP
— Расширенные настройки
, выделив нужную версию.
Либо можно добавить их непосредственно в код сайта — в главную (индексную) страницу index.php
:
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
Либо прописать в файл .htaccess
в корне сайта:
php_flag display_startup_errors on php_flag display_errors on
Тем самым, мы включили возможность вывода ошибок и логирование со стороны PHP и в большинстве случаев сообщений в логе будет достаточно, чтобы понять, в какую сторону «копать». Но бывает, что и этого мало, тогда необходимо идти дальше и включать вывод диагностической информации уже непосредственно внутри самого сайта, средствами его движка.
Включение вывода ошибок и debug
Большинство CMS поддерживают вывод отладочной информации на экран, что поможет в диагностике ошибок.
Например, если WordPress не может соединиться с базой данных, он выведет такое сообщение:
Если же при этом в конфигурационном файле wp-config.php
, который находится в корне сайта, включить дебаг — поменять директивы:
define('WP_DEBUG', false); define('WP_DEBUG', true);
то выводимая информация будет полнее:
И в этом примере выводимый текст достаточно ясно даёт понять, что указан неправильный пароль пользователя базы данных.
Подобный способ отладки применим для большинства CMS: дебаг можно включить в configuration.php
у Joomla, .settings.php
(скрытый файл с точкой перед названием) у Битрикс и так далее. Узнать, как это сделать, может помочь документация используемого движка.
Увы, в одной статье не охватить все возможные проблемы, влияющие на доступность сайта. Поэтому мы рассмотрим только самые распространенные случаи, с которыми чаще всего приходится иметь дело техподдержке.
Совместимость версий PHP
Одна из частых проблем — сайт работает на одной версии PHP, а на сервере используется другая. Несовместимость версий приводит к некорректной работе сайта. Если дело в этом, вы увидите синтаксические ошибки вида:
Parse error: syntax error, unexpected T_STRING
Либо явное сообщение, как например это делает WordPress:
Другая распространенная ошибка:
Extension ‘mysql’ is deprecated since PHP 5.5 and removed since PHP 7.0; Use mysqli instead
Говорит о том, что вы пытаетесь запустить сайт на версии 7.0 и выше, когда он работает с более ранними версиями PHP и использует устаревшее расширение php-mysql
, когда как в новых версиях используется только php-mysqli
.
Отсутствие расширений PHP
Также могут отсутствовать необходимые для работы сайта расширения PHP. Пример текста ошибки:
Ioncube Loader is NOT installed at your server to run this application
или
Uncaught Error: Call to undefined function curl_init()
Это говорит об отсутствующих или выключенных расширениях PHP Ioncube
или Curl
соответственно.
Проверить их наличие можно через меню ISPmanager:
Настройки
— Настройки PHP
— Управление расширениями
Посмотреть текущую версию PHP можно через меню Сайты
в строке с нужным сайтом:
Либо подложить файл info.php
c содержимым в корень сайта:
<?php phpinfo(); ?>
затем перейти по адресу в браузере http://вашсайт.рф/phpinfo.php
— в верхней части страницы увидете, какая версия используется сайтом:
После работ важно удалить этот файл, так как этой информацией могут воспользоваться злоумышленники.
Лимиты PHP
Другой «пласт» возможных ошибок — недостаточные лимиты, выставленные в настройках PHP. Это может проявляться как на главной странице, так и на других, где например, работает «тяжелый» скрипт, требующий больше времени и ресурсов, чем ему дозволено сейчас.
Об этом скажут сообщения:
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
В этом случае необходимо увеличить параметр на лимит используемой ОЗУ для одного скрипта memory_limit
.
The process *** exceeded the timeout of 60 seconds или PHP EXECUTION TIMEOUT ERROR
Увеличиваем время ( в секундах), поменяв параметры set_time_limit
и max_execution_time
.
The uploaded file exceeds the upload_max_filesize directive in php.ini
Правим директивы на размер загружаемых файлов в мегабайтах: upload_max_filesize
и post_max_size
.
Используем strace
Если способы, перечисленные выше, не помогли, можно попробовать использовать утилиту strace
. Но будьте готовы к тому, что вам потребуется подключаться к серверу по SSH и потратить значительное время на поиск ошибок в логах — вывод этой команды не очень удобен для восприятия.
Утилита предназначена для вывода на экран или в отдельный файл системных вызовов. Грубо говоря, показывает последовательность обращений скриптов сайта друг к другу. Это помогает отловить ошибку, если выводимого дебага недостаточно или не помогает решить проблему.
Устанавливается она yum install strace
на серверах Centos или apt install strace
для Debian/Ubuntu.
В общем виде подойдет такой синтаксис:
strace -s999 -o /tmp/strace.txt /opt/php71/php index.php
Где:
strace -s999
— вызов командыstrace
с максимально подробным выводом и запись его в файл/tmp/strace.txt
/opt/php71/php
— адрес интерпретатора PHPindex.php
— путь к вызываемому файлу.
По истории вызовов можно будет понять, к каким файлам идёт обращение и в какой момент возникает ошибка.
Заключение
В этой статье мы рассмотрели вероятные причины, почему может не работать сайт: из-за проблем «внутри» сервера — закончившихся ресурсов или неработающих служб. Разобрались, как включать логи, настраивать PHP и включать дебаг для выявления ошибок.
Если ничего не помогло, то рекомендуем не мучаться и не заниматься «самолечением» — обратитесь в техническую поддержку хостинга или к разработчику. Как правило, так получится решить проблему гораздо быстрее и без фатальных последствий.
Как правильно написать запрос в службу технической поддержки
FTP server return codes always have three digits, and each digit has a special meaning.[1] The first digit denotes whether the response is good, bad or incomplete:
Range
Purpose
1xx
Positive Preliminary reply
The requested action is being initiated; expect another reply before proceeding with a new command. (The user-process sending another command before the completion reply would be in violation of protocol; but server-FTP processes should queue any commands that arrive while a preceding command is in progress.) This type of reply can be used to indicate that the command was accepted and the user-process may now pay attention to the data connections, for implementations where simultaneous monitoring is difficult. The server-FTP process may send at most, one 1xx reply per command.
2xx
Positive Completion reply
The requested action has been successfully completed. A new request may be initiated.
3xx
Positive Intermediate reply
The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information. The user should send another command specifying this information. This reply is used in command sequence groups.
4xx
Transient Negative Completion reply
The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again. The user should return to the beginning of the command sequence, if any. It is difficult to assign a meaning to «transient», particularly when two distinct sites (Server- and User-processes) have to agree on the interpretation. Each reply in the 4xx category might have a slightly different time value, but the intent is that the user-process is encouraged to try again. A rule of thumb in determining if a reply fits into the 4xx or the 5xx (Permanent Negative) category is that replies are 4xx if the commands can be repeated without any change in command form or in properties of the User or Server (e.g., the command is spelled the same with the same arguments used; the user does not change his file access or user name; the server does not put up a new implementation.)
5xx
Permanent Negative Completion reply
The command was not accepted and the requested action did not take place. The User-process is discouraged from repeating the exact request (in the same sequence). Even some «permanent» error conditions can be corrected, so the human user may want to direct his User-process to reinitiate the command sequence by direct action at some point in the future (e.g., after the spelling has been changed, or the user has altered his directory status.)
6xx
Protected reply
The RFC 2228 introduced the concept of protected replies to increase security over the FTP communications. The 6xx replies are Base64 encoded protected messages that serves as responses to secure commands. When properly decoded, these replies fall into the above categories.
Below is a list of all known return codes that may be issued by an FTP server.
Code
Explanation
100 Series
The requested action is being initiated, expect another reply before proceeding with a new command.
110
Restart marker replay . In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm
where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and «=»).
120
Service ready in nnn minutes.
125
Data connection already open; transfer starting.
150
File status okay; about to open data connection.
200 Series
The requested action has been successfully completed.
202
Command not implemented, superfluous at this site.
211
System status, or system help reply.
212
Directory status.
213
File status.
214
Help message. Explains how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
215
NAME system type. Where NAME is an official system name from the registry kept by IANA.
220
Service ready for new user.
221
Service closing control connection.
225
Data connection open; no transfer in progress.
226
Closing data connection. Requested file action successful (for example, file transfer or file abort).
227
Entering Passive Mode (h1,h2,h3,h4,p1,p2).
228
Entering Long Passive Mode (long address, port).
229
Entering Extended Passive Mode (|||port|).
230
User logged in, proceed. Logged out if appropriate.
231
User logged out; service terminated.
232
Logout command noted, will complete when transfer done. Alternatively: User logged in, authorized by security data exchange.
234
Specifies that the server accepts the authentication mechanism specified by the client, and no security data needs to be exchanged.
235
Specifies that the server accepts the security data given by the client, and no further security data needs to be exchanged.
250
Requested file action okay, completed.
257
«PATHNAME» created.
300 Series
The command has been accepted, but the requested action is on hold, pending receipt of further information.
331
User name okay, need password.
332
Need account for login.
334
Specifies that the server accepts the authentication mechanism specified by the client, but some security data needs to be exchanged.
335
Specifies that the server accepts the security data given by the client, but further security data needs to be exchanged.
350
Requested file action pending further information
400 Series
The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again.
421
Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.
425
Can’t open data connection.
426
Connection closed; transfer aborted.
430
Invalid username or password
434
Requested host unavailable.
450
Requested file action not taken.
451
Requested action aborted. Local error in processing.
452
Requested action not taken. Insufficient storage space in system. File unavailable (e.g., file busy).
500 Series
Syntax error, command unrecognized and the requested action did not take place. This may include errors such as command line too long.
501
Syntax error in parameters or arguments.
502
Command not implemented.
503
Bad sequence of commands.
504
Command not implemented for that parameter.
530
Not logged in.
532
Need account for storing files.
534
Request denied for policy reasons.
550
Requested action not taken. File unavailable (e.g., file not found, no access).
551
Requested action aborted. Page type unknown.
552
Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
553
Requested action not taken. File name not allowed.
600 Series
Replies regarding confidentiality and integrity
631
Integrity protected reply.
632
Confidentiality and integrity protected reply.
633
Confidentiality protected reply.
10000 Series
Common Winsock Error Codes[2] (These are not FTP return codes)
10054
Connection reset by peer. The connection was forcibly closed by the remote host.
10060
Cannot connect to remote server.
10061
Cannot connect to remote server. The connection is actively refused by the server.
10065
No route to host / DNS cannot be resolved.
10066
Directory not empty.
10068
Too many users, server is full.
FTP server return codes always have three digits, and each digit has a special meaning.[1] The first digit denotes whether the response is good, bad or incomplete:
Range
Purpose
1xx
Positive Preliminary reply
The requested action is being initiated; expect another reply before proceeding with a new command. (The user-process sending another command before the completion reply would be in violation of protocol; but server-FTP processes should queue any commands that arrive while a preceding command is in progress.) This type of reply can be used to indicate that the command was accepted and the user-process may now pay attention to the data connections, for implementations where simultaneous monitoring is difficult. The server-FTP process may send at most, one 1xx reply per command.
2xx
Positive Completion reply
The requested action has been successfully completed. A new request may be initiated.
3xx
Positive Intermediate reply
The command has been accepted, but the requested action is being held in abeyance, pending receipt of further information. The user should send another command specifying this information. This reply is used in command sequence groups.
4xx
Transient Negative Completion reply
The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again. The user should return to the beginning of the command sequence, if any. It is difficult to assign a meaning to «transient», particularly when two distinct sites (Server- and User-processes) have to agree on the interpretation. Each reply in the 4xx category might have a slightly different time value, but the intent is that the user-process is encouraged to try again. A rule of thumb in determining if a reply fits into the 4xx or the 5xx (Permanent Negative) category is that replies are 4xx if the commands can be repeated without any change in command form or in properties of the User or Server (e.g., the command is spelled the same with the same arguments used; the user does not change his file access or user name; the server does not put up a new implementation.)
5xx
Permanent Negative Completion reply
The command was not accepted and the requested action did not take place. The User-process is discouraged from repeating the exact request (in the same sequence). Even some «permanent» error conditions can be corrected, so the human user may want to direct his User-process to reinitiate the command sequence by direct action at some point in the future (e.g., after the spelling has been changed, or the user has altered his directory status.)
6xx
Protected reply
The RFC 2228 introduced the concept of protected replies to increase security over the FTP communications. The 6xx replies are Base64 encoded protected messages that serves as responses to secure commands. When properly decoded, these replies fall into the above categories.
Below is a list of all known return codes that may be issued by an FTP server.
Code
Explanation
100 Series
The requested action is being initiated, expect another reply before proceeding with a new command.
110
Restart marker replay . In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm
where yyyy is User-process data stream marker, and mmmm server’s equivalent marker (note the spaces between markers and «=»).
120
Service ready in nnn minutes.
125
Data connection already open; transfer starting.
150
File status okay; about to open data connection.
200 Series
The requested action has been successfully completed.
202
Command not implemented, superfluous at this site.
211
System status, or system help reply.
212
Directory status.
213
File status.
214
Help message. Explains how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
215
NAME system type. Where NAME is an official system name from the registry kept by IANA.
220
Service ready for new user.
221
Service closing control connection.
225
Data connection open; no transfer in progress.
226
Closing data connection. Requested file action successful (for example, file transfer or file abort).
227
Entering Passive Mode (h1,h2,h3,h4,p1,p2).
228
Entering Long Passive Mode (long address, port).
229
Entering Extended Passive Mode (|||port|).
230
User logged in, proceed. Logged out if appropriate.
231
User logged out; service terminated.
232
Logout command noted, will complete when transfer done. Alternatively: User logged in, authorized by security data exchange.
234
Specifies that the server accepts the authentication mechanism specified by the client, and no security data needs to be exchanged.
235
Specifies that the server accepts the security data given by the client, and no further security data needs to be exchanged.
250
Requested file action okay, completed.
257
«PATHNAME» created.
300 Series
The command has been accepted, but the requested action is on hold, pending receipt of further information.
331
User name okay, need password.
332
Need account for login.
334
Specifies that the server accepts the authentication mechanism specified by the client, but some security data needs to be exchanged.
335
Specifies that the server accepts the security data given by the client, but further security data needs to be exchanged.
350
Requested file action pending further information
400 Series
The command was not accepted and the requested action did not take place, but the error condition is temporary and the action may be requested again.
421
Service not available, closing control connection. This may be a reply to any command if the service knows it must shut down.
425
Can’t open data connection.
426
Connection closed; transfer aborted.
430
Invalid username or password
434
Requested host unavailable.
450
Requested file action not taken.
451
Requested action aborted. Local error in processing.
452
Requested action not taken. Insufficient storage space in system. File unavailable (e.g., file busy).
500 Series
Syntax error, command unrecognized and the requested action did not take place. This may include errors such as command line too long.
501
Syntax error in parameters or arguments.
502
Command not implemented.
503
Bad sequence of commands.
504
Command not implemented for that parameter.
530
Not logged in.
532
Need account for storing files.
534
Request denied for policy reasons.
550
Requested action not taken. File unavailable (e.g., file not found, no access).
551
Requested action aborted. Page type unknown.
552
Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
553
Requested action not taken. File name not allowed.
600 Series
Replies regarding confidentiality and integrity
631
Integrity protected reply.
632
Confidentiality and integrity protected reply.
633
Confidentiality protected reply.
10000 Series
Common Winsock Error Codes[2] (These are not FTP return codes)
10054
Connection reset by peer. The connection was forcibly closed by the remote host.
10060
Cannot connect to remote server.
10061
Cannot connect to remote server. The connection is actively refused by the server.
10065
No route to host / DNS cannot be resolved.
10066
Directory not empty.
10068
Too many users, server is full.
Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
-
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
-
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:
В Яндекс.Вебмастере
Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:
Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:
Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».
А затем в открывшемся окне перейдите на вкладку «Подробнее»:
Теперь расскажем подробнее про все классы кодов состояния HTTP.
1* класс кодов (информационные сообщения)
Это системный класс кодов, который только информирует о процессе передачи запроса. Такие ответы не являются ошибкой, хотя и могут отображаться в браузере как Error Code.
100 Continue
Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.
102 Processing
Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.
103 Checkpoint
Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.
POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса.
Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные.
Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.
105 Name Not Resolved
Не удается преобразовать DNS‑адрес сервера — это означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.
2* класс кодов (успешно обработанные запросы)
Эти коды информируют об успешности принятия и обработки запроса. Также сервер может передать заголовки или тело сообщений.
200 ОК
Все хорошо — HTTP‑запрос успешно обработан (не ошибка).
201 Created
Создано — транзакция успешна, сформирован новый ресурс или документ.
202 Accepted
Принято — запрос принят, но ещё не обработан.
203 Non‑Authoritative Information
Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).
204 No Content
Нет содержимого — запрос успешно обработан, однако в ответе только заголовки без контента сообщения. Не нужно обновлять содержимое документа, но можно применить к нему полученные метаданные.
205 Reset Content
Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.
206 Partial Content
Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.
GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ.
Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с получением данных, а POST‑запрос нужен для отправки данных.
При работе с подобными ответами следует уделить внимание кэшированию.
207 Multi‑Status
Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus.
226 IM Used
Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).
3* класс кодов (перенаправление на другой адрес)
Эти коды информируют, что для достижения успешной операции нужно будет сделать другой запрос, возможно, по другому URL.
300 Multiple Choices
Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.
301 Moved Permanently
Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.
302 Found/Moved
Временно перемещено — страница временно перенесена на другой URL, который указан в поле Location.
303 See Other
Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.
304 Not Modified
Модификаций не было — с момента последнего визита клиента изменений не было.
305 Use Proxy
Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.
306 Unused
Зарезервировано. Код в настоящий момент не используется.
307 Temporary Redirect
Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.
Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.
308 Resume Incomplete
Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.
4* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.
400 Bad Request
Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).
401 Unauthorized
Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.
Для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения поле Authorization.
402 Payment Required
Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.
403 Forbidden
Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.
404 Not Found
Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).
405 Method Not Allowed
Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.
406 Not Acceptable
Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).
407 Proxy Authentication Required
Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.
408 Request Timeout
Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение и просто обновите страницу.
409 Conflict
Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).
410 Gone
Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и недоступен (серверу неизвестно месторасположение).
411 Length Required
Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length.
Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.
412 Precondition Failed
Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.
413 Request Entity Too Large
Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.
414 Request‑URI Too Long
Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.
415 Unsupported Media Type
Формат не поддерживается — сервер не может принять запрос, так как данные подгружаются в некорректном формате, и сервер разрывает соединение.
416 Requested Range Not Satisfiable
Диапазон не поддерживается — ошибка возникает в случаях, когда в самом HTTP‑заголовке прописывается некорректный байтовый диапазон.
Корректного диапазона в необходимом документе может просто не быть, или есть опечатка в синтаксисе.
417 Expectation Failed
Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».
418 I’m a teapot
Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.
422 Unprocessable Entity
Объект не обработан — сервер принял запрос, но в нём есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.
423 Locked
Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.
424 Failed Dependency
Неуспешная зависимость — сервер не может обработать запрос, так как один из зависимых ресурсов заблокирован.
Выполнение запроса напрямую зависит от успешности выполнения другой операции, и если она не будет успешно завершена, то вся обработка запроса будет прервана.
425 Unordered Collection
Неверный порядок в коллекции — ошибка возникает, если клиент указал номер элемента в неупорядоченном списке или запросил несколько элементов в порядке, отличном от серверного.
426 Upgrade Required
Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection.
Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.
428 Precondition Required
Нужно предварительное условие — сервер просит внести в запрос информацию о предварительных условиях обработки данных, чтобы выдавать корректную информацию по итогу.
429 Too Many Requests
Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.
431 Request Header Fields Too Large
Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.
Исправляется это с помощью сокращения заголовков и повторной отправки запроса.
434 Requested Host Unavailable
Адрес запрашиваемой страницы недоступен.
444 No Response
Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.
Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика.
449 Retry With
Повторите попытку — ошибка говорит о необходимости скорректировать запрос и повторить его снова. Причиной становятся неверно указанные параметры (возможно, недостаточно данных).
450 Blocked by Windows Parental Controls
Заблокировано родительским контролем — говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров системы родительского контроля.
451 Unavailable For Legal Reasons
Недоступно по юридическим причинам — доступ к ресурсу закрыт, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.
456 Unrecoverable Error
Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.
499 Client Closed Request
Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.
5* класс кодов (ошибки на стороне сервера)
Эти коды указывают на ошибки со стороны серверов.
При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.
500 Internal Server Error
Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос.
Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
501 Not Implemented
Не выполнено — код отдается, когда сам сервер не может идентифицировать метод запроса.
Сами вы эту ошибку не исправите. Устранить её может только сервер.
502 Bad Gateway
Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.
Актуально исключительно для прокси и шлюзовых конфигураций.
503 Service Unavailable
Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее).
В поле Retry‑After заголовка сервер укажет время, через которое можно повторить запрос.
504 Gateway Timeout
Тайм‑аут шлюза — сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.
Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере.
Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.
506 Variant Also Negotiates
Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.
507 Insufficient Storage
Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.
508 Loop Detected
Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.
509 Bandwidth Limit Exceeded
Превышена пропускная способность — используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру.
510 Not Extended
Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.
Код ошибки |
Описание |
Устранение ошибки |
2001 |
В течение 5-и минутного интервала не появилось |
Произошел сбой кассы. Обратитесь к администратору. |
2002 |
Нет касс, которые могли бы выполнить регистрацию |
Произошел сбой кассы. Обратитесь к администратору. |
2003 |
ИНН, указанный в чеке не соответствует ИНН |
Проверьте чек, измените ИНН, повторите попытку. |
2004 |
Внутренняя ошибка сервиса. |
Произошел сбой кассы. Обратитесь к администратору. |
2005 |
Внутренняя ошибка сервиса. |
Произошел сбой кассы. Обратитесь к администратору. |
001 |
Соединение не установлено |
Произошел сбой кассы. Обратитесь к администратору. |
002 |
Нет связи |
Произошел сбой кассы. Обратитесь к администратору. |
003 |
Порт занят |
Произошел сбой кассы. Обратитесь к администратору. |
004 |
Порт недоступен |
Произошел сбой кассы. Обратитесь к администратору. |
005 |
Некорректные данные от устройства |
Произошел сбой кассы. Обратитесь к администратору. |
006 |
Внутренняя ошибка библиотеки |
Произошел сбой кассы. Обратитесь к администратору. |
007 |
Неподдерживаемое преобразование типа параметра |
Произошел сбой кассы. Обратитесь к администратору. |
008 |
Не найден обязательный параметр |
Произошел сбой кассы. Обратитесь к администратору. |
009 |
Некорректные настройки |
Произошел сбой кассы. Обратитесь к администратору. |
010 |
Драйвер не настроен |
Произошел сбой кассы. Обратитесь к администратору. |
011 |
Не поддерживается в данной версии (драйвера или |
Произошел сбой кассы. Обратитесь к администратору. |
012 |
Не поддерживается в данном режиме |
Произошел сбой кассы. Обратитесь к администратору. |
013 |
Нeкорректное значение параметра |
Некорректный запрос. Необходимо исправить чек и |
014 |
Не удалось загрузить библиотеку |
Произошел сбой кассы. Обратитесь к администратору. |
015 |
Неизвестная ошибка |
Произошел сбой кассы. Обратитесь к администратору. |
016 |
Неверная цена (сумма) |
Неверная цена (сумма). Необходимо исправить чек и |
017 |
Неверное количество |
Неверное количество в товарной позиции чека. |
018 |
Переполнение счетчика наличности |
Произошел сбой кассы. Обратитесь к администратору. |
019 |
Невозможно сторно последней операции |
Произошел сбой кассы. Обратитесь к администратору. |
020 |
Сторно по коду невозможно |
Произошел сбой кассы. Обратитесь к администратору. |
021 |
Невозможен повтор последней операции |
Произошел сбой кассы. Обратитесь к администратору. |
022 |
Повторная скидка на операцию невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
023 |
Невозможно начислить скидку/надбавку |
Некорректный запрос. Необходимо исправить чек и |
024 |
Неверный код товара |
Некорректный запрос. Необходимо исправить чек и |
026 |
Неверный формат команды |
Произошел сбой кассы. Обратитесь к администратору. |
027 |
Неверная длина |
Некорректно указано значение одного из полей в запросе |
028 |
ККТ заблокирована в режиме ввода даты |
Произошел сбой кассы. Обратитесь к администратору. |
029 |
Требуется подтверждение ввода даты |
Произошел сбой кассы. Обратитесь к администратору. |
030 |
Нет больше данных |
Произошел сбой кассы. Обратитесь к администратору. |
031 |
Нет подтверждения или отмены продажи |
Произошел сбой кассы. Обратитесь к администратору. |
032 |
Отчет о закрытии смены прерван |
Произошел сбой кассы. Обратитесь к администратору. |
034 |
Вход в режим заблокирован |
Произошел сбой кассы. Обратитесь к администратору. |
035 |
Проверьте дату и время |
Произошел сбой кассы. Обратитесь к администратору. |
036 |
Переданные дата/время меньше даты/времени |
Произошел сбой кассы. Отправьте чек повторно. |
038 |
Товар не найден |
Некорректный запрос. Обратитесь к администратору. |
040 |
Переполнение буфера чека |
Произошел сбой кассы. Отправьте чек повторно. |
041 |
Недостаточное количество товара |
Некорректный запрос. Необходимо исправить чек и |
042 |
Сторнируемое количество больше проданного |
Произошел сбой кассы. Обратитесь к администратору. |
043 |
Товар не найден |
Некорректный запрос. Обратитесь к администратору. |
048 |
Неверный тип чека |
Неверный тип чека. Необходимо исправить чек и |
052 |
Сумма не наличных платежей превышает сумму чека |
Некорректный запрос. Необходимо исправить чек и |
053 |
Накопление меньше суммы возврата или |
Некорректный запрос. Необходимо исправить чек и |
054 |
Переполнение суммы платежей |
Произошел сбой кассы. Обратитесь к администратору. |
055 |
Предыдущая операция незавершена |
Произошел сбой кассы. Обратитесь к администратору. |
057 |
Неверная величина скидки / надбавки |
Некорректный запрос. Обратитесь к администратору. |
058 |
Операция после скидки / надбавки невозможна |
Некорректный запрос. Обратитесь к администратору. |
059 |
Неверная секция |
Произошел сбой кассы. Обратитесь к администратору. |
060 |
Неверный вид оплаты |
Неверный вид оплаты. Необходимо исправить чек и |
061 |
Переполнение при умножении |
Произошел сбой кассы. Обратитесь к администратору. |
062 |
Операция запрещена в таблице настроек |
Произошел сбой кассы. Обратитесь к администратору. |
063 |
Переполнение итога чека |
Превышение лимита по сумме чека. Обратитесь к |
064 |
Открыт чек аннулирования – операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
065 |
Переполнение буфера ЭЖ |
Произошел сбой кассы. Обратитесь к администратору. |
066 |
Чек оплачен не полностью |
Некорректный запрос. Необходимо исправить чек и |
067 |
Открыт чек возврата – операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
068 |
Смена превысила 24 часа |
Произошел сбой кассы. Обратитесь к администратору. |
069 |
Открыт чек продажи – операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
070 |
Переполнение ФП |
Произошел сбой кассы. Обратитесь к администратору. |
071 |
Неверный пароль |
Произошел сбой кассы. Обратитесь к администратору. |
072 |
Идет обработка ЭЖ |
Произошел сбой кассы. Обратитесь к администратору. |
073 |
Смена закрыта — операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
077 |
Неверная дата и/или время |
Произошел сбой кассы. Обратитесь к администратору. |
078 |
Неверная сумма сторно |
Произошел сбой кассы. Обратитесь к администратору. |
080 |
В ККТ нет денег для выплаты |
Некорректный запрос. Обратитесь к администратору. |
081 |
Чек закрыт – операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
082 |
Чек открыт – операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
083 |
Смена открыта, операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
086 |
Неверный номер смены |
Произошел сбой кассы. Обратитесь к администратору. |
089 |
ККТ не зарегистрирована |
Произошел сбой кассы. Обратитесь к администратору. |
090 |
Не задан серийный номер |
Произошел сбой кассы. Обратитесь к администратору. |
093 |
Данные документа отсутствуют |
Произошел сбой кассы. Обратитесь к администратору. |
095 |
Требуется выполнение общего гашения |
Произошел сбой кассы. Обратитесь к администратору. |
097 |
Невозможна отмена скидки/надбавки |
Произошел сбой кассы. Обратитесь к администратору. |
098 |
Невозможно закрыть чек данным типом оплаты |
Некорректный запрос. Необходимо исправить чек и |
104 |
Ошибка обмена с фискальным модулем |
Произошел сбой кассы. Обратитесь к администратору. |
105 |
Необходимо провести профилактические работы |
Произошел сбой кассы. Обратитесь к администратору. |
106 |
Неверные номера смен в ККТ и ФН |
Произошел сбой кассы. Обратитесь к администратору. |
107 |
Нет устройства, обрабатывающего данную команду |
Произошел сбой кассы. Обратитесь к администратору. |
109 |
Ошибочное состояние ТРК |
Произошел сбой кассы. Обратитесь к администратору. |
110 |
Недопустимое кол- во позиций в чеке |
Некорректный запрос. Необходимо исправить чек и |
111 |
Ошибочный номер ТРК |
Произошел сбой кассы. Обратитесь к администратору. |
112 |
Неверный делитель |
Произошел сбой кассы. Обратитесь к администратору. |
115 |
Ошибка обмена с ФН на уровне интерфейса I2C |
Произошел сбой кассы. Обратитесь к администратору. |
116 |
Ошибка формата передачи ФН |
Произошел сбой кассы. Обратитесь к администратору. |
117 |
Неверное состояние ФН |
Произошел сбой кассы. Обратитесь к администратору. |
118 |
Неисправимая ошибка ФН |
Произошел сбой кассы. Обратитесь к администратору. |
119 |
Ошибка КС ФН |
Произошел сбой кассы. Обратитесь к администратору. |
120 |
Закончен срок эксплуатации ФН |
Произошел сбой кассы. Обратитесь к администратору. |
121 |
Архив ФН переполнен |
Произошел сбой кассы. Обратитесь к администратору. |
122 |
В ФН переданы неверная дата или время |
Произошел сбой кассы. Обратитесь к администратору. |
123 |
В ФН нет запрошенных данных |
Произошел сбой кассы. Обратитесь к администратору. |
124 |
Переполнение ФН (итог чека / смены) |
Произошел сбой кассы. Обратитесь к администратору. |
125 |
Буфер переполнен |
Произошел сбой кассы. Обратитесь к администратору. |
127 |
Требуется гашение ЭЖ |
Произошел сбой кассы. Обратитесь к администратору. |
128 |
Некорректная сумма налога |
Некорректная сумма налога. Необходимо исправить чек и |
129 |
Начисление налога на последнюю операцию |
Произошел сбой кассы. Обратитесь к администратору. |
131 |
Сумма сторно налога больше суммы |
Произошел сбой кассы. Обратитесь к администратору. |
132 |
Операция невозможна, недостаточно питания |
Произошел сбой кассы. Обратитесь к администратору. |
133 |
Некорректное значение параметров команды ФН |
Произошел сбой кассы. Обратитесь к администратору. |
134 |
Превышение размеров TLV данных ФН |
Некорректный запрос. Обратитесь к администратору. |
135 |
Нет транспортного соединения ФН |
Произошел сбой кассы. Обратитесь к администратору. |
136 |
Исчерпан ресурс КС ФН |
Произошел сбой кассы. Обратитесь к администратору. |
137 |
Ресурс хранения ФД исчерпан |
Произошел сбой кассы. Обратитесь к администратору. |
138 |
Сообщение от ОФД не может быть принято ФН |
Произошел сбой кассы. Обратитесь к администратору. |
139 |
В ФН есть неотправленные ФД |
Произошел сбой кассы. Обратитесь к администратору. |
140 |
Исчерпан ресурс ожидания передачи сообщения в ФН |
Произошел сбой кассы. Обратитесь к администратору. |
141 |
Продолжительность смены ФН более 24 часов |
Произошел сбой кассы. Обратитесь к администратору. |
142 |
Неверная разница во времени между двумя операциями |
Произошел сбой кассы. Обратитесь к администратору. |
143 |
Некорректная СНО |
Указана некорректная система налогообложения. |
144 |
Недопустимый номер ставки налога |
Неверная ставка налога. Необходимо исправить чек и |
145 |
Недопустимый тип оплаты товара |
Неверный тип оплаты. Необходимо исправить чек и |
146 |
Недопустимый тип кода товара |
Некорректный запрос. Обратитесь к администратору. |
147 |
Недопустима регистрация подакцизного товара |
Некорректный запрос. Необходимо исправить чек и |
148 |
Ошибка программирования реквизита |
Произошел сбой кассы. Обратитесь к администратору. |
149 |
Неверный тип счетчика |
Произошел сбой кассы. Обратитесь к администратору. |
154 |
Недопустимое значение режима работы с налогом |
Произошел сбой кассы. Обратитесь к администратору. |
158 |
Неразрешенные реквизиты |
Произошел сбой кассы. Обратитесь к администратору. |
159 |
Ошибка интерфейса ФН |
Произошел сбой кассы. Обратитесь к администратору. |
160 |
Дублирование данных |
Произошел сбой кассы. Обратитесь к администратору. |
161 |
Не указаны обязательные реквизиты |
Некорректный запрос. Необходимо исправить чек и |
162 |
Ошибка чтения документа из ФН |
Произошел сбой кассы. Обратитесь к администратору. |
163 |
Переполнение чисел с плавающей точкой |
Некорректный запрос. Необходимо исправить чек и |
165 |
Внутренняя ошибка ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
166 |
ФН не найден |
Произошел сбой кассы. Обратитесь к администратору. |
167 |
Невозможно записать реквизит агента |
Произошел сбой кассы. Обратитесь к администратору. |
168 |
Недопустимое сочетания реквизитов 1002 и 1056 |
Произошел сбой кассы. Обратитесь к администратору. |
169 |
Недопустимое сочетания реквизитов 1002 и 1017 |
Произошел сбой кассы. Обратитесь к администратору. |
172 |
Кассир не зарегистрирован |
Произошел сбой кассы. Обратитесь к администратору. |
177 |
Закрытие чека прервано |
Произошел сбой кассы. Обратитесь к администратору. |
178 |
Получение документа из ФН прервано |
Произошел сбой кассы. Обратитесь к администратору. |
179 |
Сбой часов |
Произошел сбой кассы. Обратитесь к администратору. |
180 |
Сбой памяти |
Произошел сбой кассы. Обратитесь к администратору. |
181 |
Сбой микросхемы |
Произошел сбой кассы. Обратитесь к администратору. |
183 |
Недопустимое значение MAC-адреса |
Произошел сбой кассы. Обратитесь к администратору. |
188 |
Требуется перезагрузка ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
189 |
Подходящие лицензии не найдены |
Произошел сбой кассы. Обратитесь к администратору. |
190 |
Неверная версия ФФД |
Произошел сбой кассы. Обратитесь к администратору. |
191 |
Параметр доступен только для чтения |
Произошел сбой кассы. Обратитесь к администратору. |
192 |
Неверный тип кода товара |
Произошел сбой кассы. Обратитесь к администратору. |
193 |
Неверное значение GTIN |
Некорректный запрос. Необходимо исправить чек и |
194 |
Отрицательный результат математической операции |
Произошел сбой кассы. Обратитесь к администратору. |
195 |
Недопустимое сочетание реквизитов |
Произошел сбой кассы. Обратитесь к администратору. |
196 |
Ошибка регистрации кассира |
Произошел сбой кассы. Обратитесь к администратору. |
197 |
Данный канал Интернет отсутствует в ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
198 |
Дата и время не синхронизированы |
Произошел сбой кассы. Обратитесь к администратору. |
199 |
Ошибка электронного журнала |
Произошел сбой кассы. Обратитесь к администратору. |
200 |
Документ открыт операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
201 |
Документ закрыт операция невозможна |
Произошел сбой кассы. Обратитесь к администратору. |
203 |
Произошла критичная ошибка, документ необходимо |
Произошел сбой кассы. Обратитесь к администратору. |
204 |
Регистры ККТ еще не инициализированы |
Произошел сбой кассы. Обратитесь к администратору. |
205 |
Требуется регистрация итога |
Произошел сбой кассы. Обратитесь к администратору. |
206 |
Сбой таблицы настроек |
Произошел сбой кассы. Обратитесь к администратору. |
207 |
Сбой счетчиков и регистров ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
208 |
Сбой пользовательской памяти |
Произошел сбой кассы. Обратитесь к администратору. |
209 |
Сбой сервисных регистров |
Произошел сбой кассы. Обратитесь к администратору. |
210 |
Сбой реквизитов ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
211 |
ККТ уже в режиме обновления конфигурации |
Произошел сбой кассы. Обратитесь к администратору. |
212 |
Конфигурация не прошла проверку |
Произошел сбой кассы. Обратитесь к администратору. |
213 |
Аппаратный канал отсутствует, выключен или ещё не |
Произошел сбой кассы. Обратитесь к администратору. |
214 |
Сетевой интерфейс не подключен, или на нём не |
Произошел сбой кассы. Обратитесь к администратору. |
215 |
Недопустимое сочетание реквизитов 1212 и 1030 |
Некорректный запрос. Необходимо исправить чек и |
216 |
Некорректный признак способа расчета |
Неверный признак способа расчета. Необходимо исправить |
217 |
Некорректный признак предмета расчета |
Неверный признак предмета расчета. Необходимо |
221 |
Сетевой интерфейс занят |
Произошел сбой кассы. Обратитесь к администратору. |
224 |
Архив ФН закрыт |
Произошел сбой кассы. Обратитесь к администратору. |
225 |
Нужно выполнить регистрацию / перерегистрацию |
Произошел сбой кассы. Обратитесь к администратору. |
226 |
Операция невозможна, идет обновление ПО ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
227 |
Неверный итог чека |
Произошел сбой кассы. Обратитесь к администратору. |
228 |
Запрещена одновременная передача КМ и реквизита |
Некорректный запрос. Необходимо исправить чек и |
230 |
Ошибка цифровой подписи |
Произошел сбой кассы. Обратитесь к администратору. |
231 |
Некорректная сумма акциза |
Некорректная сумма акциза. Необходимо исправить чек и |
241 |
Соединение с ККТ потеряно |
Произошел сбой кассы. Обратитесь к администратору. |
243 |
Некорректная сумма налога |
Некорректная сумма налога. Необходимо исправить чек и |
244 |
Некорректное значение типа кода маркировки |
Некорректный запрос. Необходимо исправить чек и |
245 |
Аппаратная ошибка при сохранении лицензии |
Произошел сбой кассы. Обратитесь к администратору. |
246 |
Подпись лицензии некорректна |
Произошел сбой кассы. Обратитесь к администратору. |
247 |
Лицензия не подходит для данной ККТ |
Произошел сбой кассы. Обратитесь к администратору. |
248 |
Срок действия лицензии истёк |
Произошел сбой кассы. Обратитесь к администратору. |
249 |
Документ был отменен |
Произошел сбой кассы. Обратитесь к администратору. |
251 |
Длина клише превышает максимальное значение |
Произошел сбой кассы. Обратитесь к администратору. |
258 |
Ошибка чтения/записи данных кеша |
Произошел сбой кассы. Обратитесь к администратору. |
261 |
Отсутствует позиция оплаты |
Некорректный запрос. Необходимо исправить чек и |
262 |
Таймаут выполнения команды истек |
Произошел сбой кассы. Обратитесь к администратору. |
263 |
Режим ФР выключен |
Произошел сбой кассы. Обратитесь к администратору. |
264 |
Не найдена запись в OTP |
Произошел сбой кассы. Обратитесь к администратору. |
265 |
Подакцизный товар без акциза зарегистрирован в чеке |
Некорректный запрос. Необходимо исправить чек и |
402 |
Ошибка соединения с сервером |
Произошел сбой кассы. Обратитесь к администратору. |
404 |
Некорректное значение статуса КМ |
Произошел сбой кассы. Обратитесь к администратору. |
405 |
Неверный код GS1 |
Некорректный запрос. Необходимо исправить чек и |
406 |
Запрещена работа с маркированным товарами |
Произошел сбой кассы. Обратитесь к администратору. |
407 |
Работа с маркированными товарами временно |
Произошел сбой кассы. Обратитесь к администратору. |
408 |
Переполнена таблица хранения КМ |
Произошел сбой кассы. Обратитесь к администратору. |
409 |
Некорректный код маркировки |
Некорректный запрос. Необходимо исправить чек и |
410 |
Неверное состояние |
Произошел сбой кассы. Обратитесь к администратору. |
411 |
Ошибка обмена с сервером ОФД или ИСМ |
Произошел сбой кассы. Обратитесь к администратору. |
412 |
Некорректное значение единиц измерения |
Некорректный запрос. Необходимо исправить чек и |
413 |
Операция не разрешена в данной версии ФФД |
Произошел сбой кассы. Обратитесь к администратору. |
414 |
Операция не разрешена, при регистрации не был |
Произошел сбой кассы. Обратитесь к администратору. |
418 |
Требуется повторное проведение процедуры |
Произошел сбой кассы. Обратитесь к администратору. |
419 |
Ошибка сервиса обновления ключей проверки КМ |
Произошел сбой кассы. Обратитесь к администратору. |
420 |
КМ не проверен в ФН |
Произошел сбой кассы. Обратитесь к администратору. |
421 |
Истёк таймаут проверки КМ |
Произошел сбой кассы. Обратитесь к администратору. |
501 |
Ошибка парсинга чека / запроса |
Произошел сбой кассы. Обратитесь к администратору. |
502 |
Выполнение прервано из-за предыдущих ошибок |
Произошел сбой кассы. Обратитесь к администратору. |
Если сайт внезапно перестал работать, диагностировать и устранить проблему поможет этот небольшой чек-лист.
Вначале рассмотрим основные проблемы на стороне сервера.
Место на диске
Это одна из самых популярных причин в остановке сервисов. Место может заполнится логами, бэкапами, если они сохраняются локально, кэшем сайта.
Если есть доступ к серверу по SSH, то достаточно запустить команды:
df -i df -h
Они покажут, сколько места занято на диске в процентах. Если занято 100%, то службы сервера, например, mysql
, не смогут создавать временные файлы и сайты перестанут работать. В этом случае необходимо освободить место на диске, либо увеличить его. Более подробно в этой статье:
Что делать, когда осталось мало места на диске
Доступность служб
Как правило, для работы сайтов необходимо, чтобы был запущен веб-сервер и сервер БД mysql
. Проверить статус служб можно через отдельный пункт ISPmanager:
Если с какой-то из служб возникла проблема, то «лампочка» не включится, и тогда необходимо будет разбираться с этой службой отдельно. Так же, в большинстве случаев, об этом скажет главная страница сайта: либо отображается код ошибки, например, 500
, 502
, 504
, либо непосредственно сам текст с отладочной информацией, если это позволяют настройки CMS, движка, на котором написан сайт.
Мы рассмотрели настройки со стороны сервера — если всё корректно по диагностике из предыдущих пунктов, но сайт по-прежнему не работает, то необходимо сужать круг поиска возможных причин ошибок и провести диагностику сайта.
Рассмотрим вариант дальнейших действий, если на сервере установлена панель управления ISPmanager.
Просмотр логов
Первым делом следует проверить:
- не вносились ли изменения в код сайта,
- не обновлялась ли CMS и плагины,
- не была ли изменена версия PHP,
- имеются ли резервные копии, на случай, если сайт не получится «реанимировать».
В последующей диагностике нам помогут логи. Если вы используете панель ISPmanager, то первым делом необходимо убедиться, включен ли лог ошибок.
Сайты
— нужный домен — изменить:
Выводимые сайтом ошибки можно посмотреть по пути
/var/www/http-logs/имя-сайта.error.log
например, запустив команду tail
, подключившись к серверу по SSH:
Необходимо убедиться, что нужные параметры PHP для выявления ошибки, такие как:
error_reporting display_errors display_startup_errors log_errors
включены.
Проверить это можно в том же ISPmanager во вкладке:
Настройки
— Настройки PHP
— Расширенные настройки
, выделив нужную версию.
Либо можно добавить их непосредственно в код сайта — в главную (индексную) страницу index.php
:
ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
Либо прописать в файл .htaccess
в корне сайта:
php_flag display_startup_errors on php_flag display_errors on
Тем самым, мы включили возможность вывода ошибок и логирование со стороны PHP и в большинстве случаев сообщений в логе будет достаточно, чтобы понять, в какую сторону «копать». Но бывает, что и этого мало, тогда необходимо идти дальше и включать вывод диагностической информации уже непосредственно внутри самого сайта, средствами его движка.
Включение вывода ошибок и debug
Большинство CMS поддерживают вывод отладочной информации на экран, что поможет в диагностике ошибок.
Например, если WordPress не может соединиться с базой данных, он выведет такое сообщение:
Если же при этом в конфигурационном файле wp-config.php
, который находится в корне сайта, включить дебаг — поменять директивы:
define('WP_DEBUG', false); define('WP_DEBUG', true);
то выводимая информация будет полнее:
И в этом примере выводимый текст достаточно ясно даёт понять, что указан неправильный пароль пользователя базы данных.
Подобный способ отладки применим для большинства CMS: дебаг можно включить в configuration.php
у Joomla, .settings.php
(скрытый файл с точкой перед названием) у Битрикс и так далее. Узнать, как это сделать, может помочь документация используемого движка.
Увы, в одной статье не охватить все возможные проблемы, влияющие на доступность сайта. Поэтому мы рассмотрим только самые распространенные случаи, с которыми чаще всего приходится иметь дело техподдержке.
Совместимость версий PHP
Одна из частых проблем — сайт работает на одной версии PHP, а на сервере используется другая. Несовместимость версий приводит к некорректной работе сайта. Если дело в этом, вы увидите синтаксические ошибки вида:
Parse error: syntax error, unexpected T_STRING
Либо явное сообщение, как например это делает WordPress:
Другая распространенная ошибка:
Extension ‘mysql’ is deprecated since PHP 5.5 and removed since PHP 7.0; Use mysqli instead
Говорит о том, что вы пытаетесь запустить сайт на версии 7.0 и выше, когда он работает с более ранними версиями PHP и использует устаревшее расширение php-mysql
, когда как в новых версиях используется только php-mysqli
.
Отсутствие расширений PHP
Также могут отсутствовать необходимые для работы сайта расширения PHP. Пример текста ошибки:
Ioncube Loader is NOT installed at your server to run this application
или
Uncaught Error: Call to undefined function curl_init()
Это говорит об отсутствующих или выключенных расширениях PHP Ioncube
или Curl
соответственно.
Проверить их наличие можно через меню ISPmanager:
Настройки
— Настройки PHP
— Управление расширениями
Посмотреть текущую версию PHP можно через меню Сайты
в строке с нужным сайтом:
Либо подложить файл info.php
c содержимым в корень сайта:
<?php phpinfo(); ?>
затем перейти по адресу в браузере http://вашсайт.рф/phpinfo.php
— в верхней части страницы увидете, какая версия используется сайтом:
После работ важно удалить этот файл, так как этой информацией могут воспользоваться злоумышленники.
Лимиты PHP
Другой «пласт» возможных ошибок — недостаточные лимиты, выставленные в настройках PHP. Это может проявляться как на главной странице, так и на других, где например, работает «тяжелый» скрипт, требующий больше времени и ресурсов, чем ему дозволено сейчас.
Об этом скажут сообщения:
PHP Fatal error: Allowed memory size of 8388608 bytes exhausted
В этом случае необходимо увеличить параметр на лимит используемой ОЗУ для одного скрипта memory_limit
.
The process *** exceeded the timeout of 60 seconds или PHP EXECUTION TIMEOUT ERROR
Увеличиваем время ( в секундах), поменяв параметры set_time_limit
и max_execution_time
.
The uploaded file exceeds the upload_max_filesize directive in php.ini
Правим директивы на размер загружаемых файлов в мегабайтах: upload_max_filesize
и post_max_size
.
Используем strace
Если способы, перечисленные выше, не помогли, можно попробовать использовать утилиту strace
. Но будьте готовы к тому, что вам потребуется подключаться к серверу по SSH и потратить значительное время на поиск ошибок в логах — вывод этой команды не очень удобен для восприятия.
Утилита предназначена для вывода на экран или в отдельный файл системных вызовов. Грубо говоря, показывает последовательность обращений скриптов сайта друг к другу. Это помогает отловить ошибку, если выводимого дебага недостаточно или не помогает решить проблему.
Устанавливается она yum install strace
на серверах Centos или apt install strace
для Debian/Ubuntu.
В общем виде подойдет такой синтаксис:
strace -s999 -o /tmp/strace.txt /opt/php71/php index.php
Где:
strace -s999
— вызов командыstrace
с максимально подробным выводом и запись его в файл/tmp/strace.txt
/opt/php71/php
— адрес интерпретатора PHPindex.php
— путь к вызываемому файлу.
По истории вызовов можно будет понять, к каким файлам идёт обращение и в какой момент возникает ошибка.
Заключение
В этой статье мы рассмотрели вероятные причины, почему может не работать сайт: из-за проблем «внутри» сервера — закончившихся ресурсов или неработающих служб. Разобрались, как включать логи, настраивать PHP и включать дебаг для выявления ошибок.
Если ничего не помогло, то рекомендуем не мучаться и не заниматься «самолечением» — обратитесь в техническую поддержку хостинга или к разработчику. Как правило, так получится решить проблему гораздо быстрее и без фатальных последствий.
Как правильно написать запрос в службу технической поддержки
Может сейчас эта тема не особо вас волнует, однако протяжении существования вашего сайта вы будете сталкиваться с кодами ответов сервера или «списком кодов состояния HTTP», связанных с различными элементами функциональной составляющей вашего сайта. Довольно часто встречаются такие ошибки, как 404 и 301, но существует огромное множество других ошибок, с которыми вы, возможно, не знакомы. Прежде чем паниковать, лучше прочтите эту статью, призванную рассказать вам о значения кодов различных ошибок, которые могут встретиться на вашем пути.
Некоторые из них напрямую связаны с сервером или с клиентской стороной, а некоторые уже не актуальны, поэтому вы вряд ли их увидите в реальной жизни, но ради интереса и фоновых знаний я включил и их.
Ниже представлена удобная таблица, при помощи которой вы сможете быстро и просто перейти к интересующей вас ошибке, и узнать ее значение:
100 | 301 | 405 | 417 | 450 |
101 | 302 | 406 | 418 | 451 |
102 | 303 | 407 | 422 | 500 |
200 | 304 | 408 | 423 | 501 |
201 | 305 | 409 | 424 | 502 |
202 | 306 | 410 | 425 | 503 |
203 | 307 | 411 | 426 | 504 |
204 | 400 | 412 | 428 | 505 |
205 | 401 | 413 | 429 | 506 |
206 | 402 | 414 | 431 | 507 |
207 | 403 | 415 | 444 | 509 |
300 | 404 | 416 | 449 | 510 |
1xx Информационные коды
- 100 Continue Server Code
100 Continue означает «работу в штатном режиме». Он означает, что пользователем был сделан хороший запрос, и сервер принялся к обработке. Это временный код ответа, имеющий место лишь тогда, когда пользователь ожидает финального ответа от сервера, который происходит только после того, как будет отослан последний пакет данных.
Когда этот код может использоваться? Это внутренний код, и иногда он даже не генерируется, если пользователь уже получил какие-то данные от сервера. Это нечто вроде послания к серверу о том, что соединение было установлено успешно, и двери открыты. Высылай данные, но не забудь закрыть дверь, когда закончишь дела (имеется в виду код финального ответа).
Вернуться в начало
- 101 Switching Protocols
Это, наверное, один из самых простых серверных кодов, который означает, что пользователь сделал запрос на переключение типа протокола, используемого на веб-сервере, и сервер дал согласие на это.
Когда этот код может использоваться? При переключении на новую версию HTTP с протокола старого типа. Этот запрос выполняется только при наличии более подходящего протокола (иными словами, при наличии более свежей версии HTTP).
Вернуться в начало
- 102 Processing
Так как WebDAV-запрос (протокол передачи) может содержать не только один запрос, но также множество подзапросов, включая операции с файлами, он зачастую может затребовать более длительного времени для завершения запроса.
Когда этот код может использоваться? Этот код генерируется для того, чтобы оповестить пользователя и необходимости сбросить таймер и ожидать следующей команды в обычном режиме, так как процесс обработки запроса может занять длительное время.
Вернуться в начало
2xx Success
Сообщения данного класса информируют о случаях успешного принятия и обработки запроса клиента. В зависимости от статуса сервер может ещё передать заголовки и тело сообщения. Иначе говоря, данная классификация кодов обозначает, что действие, запрошенное клиентом, было успешно принято в обработку.
- 200 OK
Этот код, вероятно, является самым популярным, но при этом самым незаметным ввиду его характера. Он означает, что обмен между пользователем и сервером завершен, и все прошло так, как должно было.
- 201 Created
В результате успешного выполнения запроса был создан новый ресурс. Например, запрос пользователя привел к созданию нового ресурса вроде новой страницы. Сервер-источник должен создать ресурс перед тем, как отправлять код 201. Если ресурс не может быть создан в данный момент, то сервер вместо этого должен отобразить код 202 (accepted).
Вернуться в начало
- 202 Accepted
Запрос был принят на обработку, но она не завершена по каким-либо причинам. Запрос может и не быть выполнен до конца, в зависимости от того, был ли он отклонен в процессе обработки.
Когда этот код может использоваться? Когда сервер не может выполнить запрос в тот момент, в который он был сделан. Запрос изначально не рассчитан на обязательное исполнение, и клиенту не обязательно дожидаться окончательной передачи сообщения, так как может быть начат очень долгий процесс.
Вернуться в начало
- 203 Non-Authoritative Information
Сервер успешно обработал запрос, но передаваемая информация была взята не из первичного источника (резервной копии, другого сервера и т. д.) и поэтому может быть неактуальной. По сути, этот код очень похож на 200, но указывает на то, что информация была получена не из первоисточника.
Когда этот код может использоваться? Этот код может быть использован вместо 200, когда у отправителя есть причина полагать, что заголовки ответа от постороннего источника могут отличаться от того, что предоставил бы исходный сервер.
Вернуться в начало
- 204 No Content
Этот код представляет собой ответ, посланный сервером для того, чтобы сообщить, что запрос был получен и понят, но отсутствуют данные, которые можно было отправить пользователю. Это, главным образом, используется для того, чтобы разрешить запуск скриптов, не меняя при этом документ. Данный код не должен содержать тело сообщения, и включается в первую пустую строку кода сразу после заголовка.
Когда этот код может использоваться? Этот код, главным образом, используется для того, чтобы позволить осуществить ввод или какие-либо действия без необходимости обновлять документ (страницу).
Вернуться в начало
- 205 Reset Content
Сервер успешно обработал запрос, но при этом не возвращает какой-либо контент. В отличие от 204, этот ответ требует от запрашиваемого обновить документ.
Когда этот код может использоваться? Обычно он используется тогда, когда пользователь заполняет форму, а сервер посылает браузеры запрос на очистку формы. Он схож с кодом 204, но просит пользователя сбросить документ после завершения – например, очистить HTML-форму после подтверждения.
Вернуться в начало
- 206 Partial Reset
Сервер возвращает лишь часть контента, соответствующего заголовку, посланному клиентом. Обычно он используется расширенными инструментами кэширования, когда пользователь запрашивает лишь небольшую часть контента на странице, и сервер в своем ответе предоставляет данные лишь для этой области на странице.
Когда этот код может использоваться? Этот кода обычно используется вследствие запрос If-Range, который применяется в мощных валидаторах кэша. Запрос также должен включать заголовки области, которые используется в качестве параметров диапазона возвратной информации.
Вернуться в начало
- 207 Multi-Status
Сервер передаёт результаты выполнения сразу нескольких независимых операций, которые помещают в тело сообщения в виде XML-документа.
Вернуться в начало
3хх Перенаправление
Этот класс кодов состояния указывает на дальнейшие действия, которые должны быть предприняты агентом пользователя для того, чтобы завершить запрос. Действия могут производиться пользователей, либо могут включать в себя различные запросы к серверу.
- 300 Multiple Choices
В основном, этот код сообщает пользователю о том, что ресурс был перемещен, и сервер отвечает списком доступных альтернативных вариантов, среди которых пользователь может выбрать наиболее подходящий ему ресурс.
Когда этот код может использоваться? Обычно этот код можно увидеть, когда сервер считает, что предоставленный пользователем (другими словами, браузером пользователя) URL имеет недостаточно точный указатель, и предлагает дальнейший выбор. Обычно это происходит тогда, когда пользователь использует URL на директорию не самого последнего уровня, и сервер предлагает ему выбор имеющихся файлов или директорий последующего уровня.
Вернуться в начало
- 301 Moved Permanently
Это довольно распространенный пользовательский запрос. Он означает, что запросы для данного ресурса (а также все последующие запросы) должны быть перенаправлены на заданный URL.
Когда этот код может использоваться? Когда страница более не существует, либо ссылка, ведущая на сторонний источник, уже не работает. 301 редирект сообщает пользователю о том, что запрашиваемый ресурс был перемещен (обычно это реализуется при помощи файла .htaccess, доступного на серверах Apache).
Вернуться в начало
- 302 Found
Этот код сообщает пользователю, что расположение запрашиваемого ресурса временно изменено, и 302 код состояния должен содержать информацию о новом месторасположении, которое пользователь и должен запросить.
Когда этот код может использоваться? У этого кода есть несколько применений, многие из которых не являются тем, для чего код был изначально предназначен. Изначально он представлял собой основной способ создания временного перенаправления. Тем не менее, сегодня существуют и другие – этичные, и неэтичные – способы его применения.
Вернуться в начало
- 303 See Other
Этот код указывает пользователю на то, что запрашиваемый ресурс можно найти по URL, который отличается от указанного в запросе. Это не обязательно означает, что что-то было перемещено, это код лишь предоставляет адрес, по которому следует запрашивать подобный ответ.
Когда этот код может использоваться? Этот метод главным образом существует для того, чтобы позволить выводу данных POST-активированного скрипта перенаправить агента пользователя к выбранному ресурсу.
Вернуться в начало
- 304 Not Modified
Этот код означает, что пользователь запрашивает документ/ресурс только в том случае, если он подвергался изменениям с момента последнего обновления кэша данного документа.
Когда этот код может использоваться? Если в ответе от сервера сообщается о том, что параметры документа If-Modified-Since или If-Match не менялись с момента создания последнего кэша, то нет необходимости в повторной отправке ресурса.
Вернуться в начало
- 305 Use Proxy
Этот код сообщает пользователю, что доступ к запрашиваемому ресурсу возможен только посредством прокси, указанного в ответе.
Когда этот код может использоваться? Этот код часто отображается в связи с мерами безопасности, и предоставляет доступ к запрашиваемым URL-ресурсам.
Вернуться в начало
- 306 Switch Proxy
Этот код изначально означал «последующие запросы должны использовать указанный прокси», но в данный момент не используется и зарезервирован.
Вернуться в начало
- 307 Temporary Redirect
Этот код возвращается, если ресурс на данный момент временно доступен по другому URL, который также предоставляется в ответе. Этот код немного отличается от кода 302 – он представляет собой более определенную версию кода 302.
Когда этот код может использоваться? Он используется практически в тех же случаях, что и 302, но пользователь должен продолжить запросы по исходному URL при следующих запросах, либо до тех пор, пока не будет применен новых код ответа.
Вернуться в начало
4хх Ошибка клиента
Класс кодов 4xx предназначен для указания ошибок со стороны клиента, либо на то, что локации никогда (или уже) не существовало. Эти коды состояния применимы к любому методу запроса.
- 400 Bad Request
Запрос не может быть исполнен ввиду синтаксической ошибки.
Когда этот код может использоваться? Когда пользователь запрашивает информацию, но делает это, пренебрегая правилами протокола передачи гипертекста. Запрос не следует повторять без изменения синтаксиса.
Вернуться в начало
- 401 Unauthorized
Этот код связан с запросом к ресурсу, который требует авторизации. Ответ 401 указывает на то, что попытка авторизации была отклонена по тем данным, которые предоставил пользователь.
Когда этот код может использоваться? Когда пользователь совершает запрос к серверу, используя неправильные данные авторизации (имя пользователя и/или пароль).
Вернуться в начало
- 402 Payment Required
Зарезервирован на будущее. Тем не менее, исходное предназначение заключалось в том, что данный код мог использоваться в некоторой форме электронных денег для проведения трансакций, но этого не случилось, и коду не нашлось применения.
Когда этот код может использоваться? Старый сервис MobileMe от Apple выдавал ошибку 402, если аккаунт пользователя в MobileMe подозревался в злоупотреблении сервисом. Кроме того, Youtube использует это состояние, если конкретный IP-адрес уличен в совершении чрезмерного числа запросов, и тогда пользователю необходимо ввести CAPTHA.
Вернуться в начало
- 403 Forbidden
Пользователь пытается осуществить доступ к ресурсу, к которому у него нет доступа, и авторизация не изменит положения.
Когда этот код может использоваться? Когда сервер понял запрос, но он отказывается его выполнять из-за ограничений в доступе для клиента к указанному ресурсу. Обычно такое случается, когда ресурс не предназначен для публичного доступа.
Вернуться в начало
- 404 Not Found
Все знакомы с этим кодом, не так ли? Он означает, что запрошенный ресурс не может быть найден, но в будущем – когда он, возможно, там появится, – к нему можно будет осуществить доступ. Также здесь допустимы последующие запросы от клиента. Тем не менее, в большинстве таких случаев применяется код перенаправления из семейства 3хх, и пользователя перенаправляют на альтернативный ресурс или локацию.
Когда этот код может использоваться? Довольно часто, особенно если страницу переместили или удалили. Зачастую в подобных случаях сервер автоматически генерирует направляющую страницу с ошибкой 404.
Вернуться в начало
- 405 Method Not Allowed
Метод, при помощи которого совершается запрос к ресурсу, не доступен. Другими словами, ошибка возникает при попытке использовать GET на форме, которая требует ввод данных посредством POST, либо использовании метода PUT на ресурсе, который предназначен только для чтения.
Когда этот код может использоваться? Ошибки 405 встречаются в связи с конкретными объектами на веб-странице, для которых был совершен запрос. Например, когда строка запроса в скрипте отличается от пользовательского запроса, в котором подразумевается использование этого скрипта.
Вернуться в начало
- 406 Not Acceptable
Запрошенный ресурс способен генерировать только тот контент, который не применим к Accept-заголовкам в самом запросе. Браузер способен указывать серверу характеристики данных, которые данные будут принимать от сервера
Когда этот код может использоваться? Если форма файла запрошенного ресурса не совпадает с форматом, который пользователь способен распознать. Мы говорим сейчас о языке программирования, а не о французском!
Вернуться в начало
- 407 Proxy Authentication Required
Как и код состояния 401, код 407 означает, что клиент сначала должен авторизоваться через прокси. Чтобы сделать это и авторизоваться, прокси должен вернуть поле с заголовком proxy-authenticate, который отвечает требованиям, представленным сервером.
Когда этот код может использоваться? Когда сервер думает, что запрос данных от клиента корректным, но доступ к ресурсу возможен только посредством авторизации через прокси-сервер.
Вернуться в начало
- 408 Request Timeout
Время ожидания сервером передачи от клиента истекло.
Когда этот код может использоваться? Руководствуясь спецификацией W3 HTTP: «Клиент не сделал запрос в отведенный промежуток времени, который сервер был готов ждать. Клиент МОЖЕТ повторить запрос когда угодно».
Вернуться в начало
- 409 Conflict
Указывает на то, что запрос не может быть выполнен из-за конфликтного обращения к ресурсу.
Когда этот код может использоваться? Вы можете получить такой код при загрузке файла на веб-сервер, где уже имеется более свежая версия этого файла, что приводит к конфликту в системе контроля версий.
Вернуться в начало
- 410 Gone
Такой ответ сервер посылает, если ресурс раньше был по указанному URL, но был удалён и теперь недоступен. Пользователю не следует повторять идентичный запрос.
Когда этот код может использоваться? Если более невозможно осуществить доступ к ресурсу посредством данного запроса, и сервер не владеет информацией о возможном месте расположения ресурса. Если у сервера есть подозрение, что документ в ближайшее время может быть восстановлен, то лучше клиенту передать код 404.
Вернуться в начало
- 411 Length Required
Запрос не указывает длину контента, и это было затребовано в совершенном запросе.
Когда этот код может использоваться? Когда браузер не определяет длину запрашиваемого контента в заголовке запроса. Сервер не примет запрос без валидного поля заголовка content-length.
Вернуться в начало
- 412 Precondition Failed
Сервер не отвечает одному из предварительных условий, которые отправитель указал в запросе. Другими словами, один или более заголовок запроса был возвращен с атрибутом false.
Когда этот код может использоваться? Если заголовок запроса, который совершает валидный запрос к ресурсу, сообщает, что этот конкретный запрос не применим к этому конкретному ресурсу.
Вернуться в начало
- 413 Request Entity Too Large
Код 413 отображается в тех случаях, когда сервер отказывается обработать запрос по причине слишком большого размера тела запроса.
Когда этот код может использоваться? При использовании в форме метода POST с контентом, по размеру большим, нежели сервер способен обработать.
Вернуться в начало
- 414 Request-URL Too Long
Этот код отображается, когда сервер не может обработать запрос из-за слишком длинного указанного URL.
Когда этот код может использоваться? Когда POST-запрос конвертируется в GET-запрос. POST-запрос поддерживает отправку безграничного объема данных, связывая их с самим запросом. Тем не менее, если запрос должен быть конвертирован в GET-запрос, то запрос позволяет привязать данные формы к URL, что позволяет проводить информацию в больших размерах, чем это было доступно.
Вернуться в начало
- 415 Unsupported Media-Type
Ответ 415 отправляется для указания о том, что сервер заметил, что часть запроса была сделана в неподдерживаемом формате.
Когда этот код может использоваться? Когда в запросе не указываются какие-либо типы медиа, которые поддерживаются ресурсом или сервером. Например, пользователь запрашивает изображение с расширением файла, которое не поддерживается сервером. Сервер знает о том, что было запрошено, но не понимает формат, в котором был запрошен ресурс.
Вернуться в начало
- 416 Requested Range Not Satisfiable
Этот ответ приходит пользователю, когда тот запрашивает часть запрашиваемого ресурса, когда эта часть не может быть предоставлена.
Когда этот код может использоваться? Когда у сервера запрашивают XXX-YYY байтов какого-либо ресурса, но ресурс имеет меньший размер, чем указано в запросе.
Вернуться в начало
- 417 Expectation Failed
Этот ответ может быть получен, когда по каким-то причинам сервер не может удовлетворить значению поля Expect заголовка запроса.
Когда этот код может использоваться? Все вполне и так понятно. Когда один из заголовков запроса, заголовок «Expect», имеет запрос, на который сервер не может предоставить ответ.
Вернуться в начало
- 418 I’m a teapot
Этот код был создан в 1998 году как одна из традиционных первоапрельских шуток IETF, в RFC 2324, Hyper Text Coffee Pot Control Protocol, и вряд ли будет обрабатываться современными HTTP-серверами.
- 422 Unprocessable Entity
Запрос был принят и понят, но не может быть выполнен ввиду наличия семантических ошибок.
Когда этот код может использоваться? Когда сервер успешно принял запрос, может работать с указанным видом данных, в теле запроса XML-документ имеет верный синтаксис, но имеется какая-то логическая ошибка, из-за которой невозможно произвести операцию над ресурсом.
Вернуться в начало
- 423 Locked
Целевой ресурс из запроса заблокирован от применения к нему указанного метода. Чтобы ресурс стал доступным, необходимо снять блокировку или предоставить правильные данные авторизации.
Когда этот код может использоваться? Когда ресурс… закрыт. Обычно это случается из соображений безопасности.
Вернуться в начало
- 424 Failed Dependency
Указывает на то, что реализация текущего запроса может зависеть от успешности выполнения другой операции, и если она не будет успешно проведена, вся обработка запроса будет прервана.
Вернуться в начало
- 425 Unordered Collection
Этот код отображается, когда ресурс определен в черновиках «WebDAV Advanced Collections Protocol», но не присутствует в «Web Distributed Authoring and Versioning Ordered Collections Protocol».
Вернуться в начало
- 426 Upgrade Required
Этот код отображается, когда сервер указывает клиенту на необходимость обновить (переключиться на другой, более новый) протокол. Когда этот код может использоваться? Обычно когда браузер использует устаревшие протоколы.
Вернуться в начало
- 428 Precondition Required
Сервер-источник требует, чтобы в запросе были указаны предварительные условия. Этот код предназначен для того, чтобы избежать конфликта версий ресурса в тех случаях, когда клиент получает (GET) состояние ресурса, изменяет его, и отправляет (PUT) обратно на сервер, и в то же время какая-то третья сторона также изменяет положение ресурса прямо на севере, что приводит к конфликту.
Когда этот код может использоваться? Запрашивая указание условий, сервер как бы гарантирует клиентам то, что они используют корректные актуальные копии ресурс. Если же это не соответствует действительно, пользователь получит ошибку 428.
Вернуться в начало
- 429 Too Many Requests
Этот ответ посылается, если клиент попытался отправить слишком много запросов за короткое время.
Когда этот код может использоваться? Когда пользователь посылает слишком много запросов за короткий промежуток времени.
Вернуться в начало
- 431 Request Header Fields Too Large
Происходит, когда сервер не собирается обрабатывать запрос, так как какое-то из полей заголовка (или все поля заголовков) слишком большое.
Когда этот код может использоваться? В основном тогда, когда заголовок запроса от пользователя больше, чем сервер способен обработать. Запрос может быть повторен после того, как будет уменьшен размер полей заголовков в запросе.
Вернуться в начало
- 444 No Response
Использовался в лог-файлах Nginx для указания того, что сервер не вернул информацию пользователю и закрыл соединение.
Когда этот код может использоваться? Обычно использовался в качестве сдерживающего фактора против вредоносного ПО.
Вернуться в начало
- 449 Retry With (Microsoft)
Расширение Microsoft, которое указывает на то, что запрос должен быть повторен после применения подходящего действия.
Когда этот код может использоваться? Этот код зачастую генерируется, когда выставленные параметры запроса не соответствуют тем, что может принять сервер.
Вернуться в начало
- 450 Blocked by Windows Parental Controls (Microsoft)
Расширение Microsoft. Эта ошибка выдается, когда параметры Windows Parental Controls выставлены на блокировку доступ к определенным веб-страницам.
Когда этот код может использоваться? Когда родители (зная об этой функции) используют родительский контроль, и id-доступа запросил доступ к заблокированному ресурсу.
Вернуться в начало
- 451 Unavailable For Legal Reasons
Новый HTTP-код состояния для ресурсов, которые заблокированы из юридических соображений. Используется для указания на то, что доступ к запрашиваемому ресурсу был заблокирован из юридических соображений: например, цензурой, или правительством.
Вернуться в начало
5xx Ошибка сервера
Коды 5xx выделены под случаи неудачного выполнения операции по вине сервера.
Эти серверные ответы зачастую отображаются, когда пользователь делает запрос, который сервер не в состоянии обработать по той или иной причине. Сервер должен включать сообщение для браузера, которое должно быть показано пользователю – в нем сообщается, что сервер (и по каким причинам) не способен обработать запрос.
- 500 Internal Server Error
Данная ошибка говорит о любой внутренней ошибке сервера, которая не входит в рамки остальных ошибок класса.
Когда этот код может использоваться? Когда ресурс или ссылка создаются на сервере (вроде календаря в системе бронирования), которые технически не существуют в виде ссылки или доступного ресурса, но показывается пользователю в виде ссылки.
Вернуться в начало
- 501 Not Implemented
Сервер либо не понимает метод в запросе, либо не поддерживает возможностей, необходимых для обработки запроса
Когда этот код может использоваться? Вы можете столкнуться с этим, когда сервер не поддерживает нормальные протоколы запроса, вроде GET, OPTIONS, HEAD, POST и т.д.
Вернуться в начало
- 502 Bad Gateway
Ответ 502 отображается, когда сервер, выступая в роли шлюза или прокси-сервера, получил недействительное ответное сообщение от вышестоящего сервера.
Когда этот код может использоваться? Обычно, когда вышестоящий сервер и прокси-сервер/шлюз не согласовывают между собой протоколы, представленные в запросе, и в результате получается ошибка при обмене данных.
Вернуться в начало
- 503 Server Unavailable
Сервер временно не имеет возможности обрабатывать запросы по техническим причинам. В основном, это состоянии является временным.
Когда этот код может использоваться? Когда сайт пользуется чрезмерным спросом, и сервер не в состоянии обработать все запросы.
Вернуться в начало
- 504 Gateway Timeout
Сервер в роли шлюза или прокси-сервера не дождался ответа от вышестоящего сервера для завершения текущего запроса.
Когда этот код может использоваться? Когда для передачи данных используется прокси-сервер/шлюз, и два сервера ждут ответов.
Вернуться в начало
- 505 HTTP Version Not Supported
Сервер не поддерживает указанную в запросе версию протокола HTTP.
Когда этот код может использоваться? В случаях, описанных выше! Когда HTTP-протокол более старый, нежели требуется серверу, и следовательно не поддерживается.
Вернуться в начало
- 506 Variant Also Negotiates
Такой ответ посылается, когда в результате ошибочной конфигурации выбранный вариант указывает сам на себя, из-за чего процесс связывания прерывается.
Когда этот код может использоваться? Когда сервер настроен некорректно, и не способен обработать запрос.
Вернуться в начало
- 507 Insufficient Storage
Когда сервер не способен разместить данные, так как не хватает места для выполнения текущего запроса.
Когда этот код может использоваться? Когда сервер уже полностью загружен, и пользователь совершает запрос на ресурс, который сервер уже имеет в запасе. Проблема заключается в том, что на сервере нет места для того, чтобы поместить данные, которые посылаются в запросе, чтобы затем выслать запрашиваемый ресурс.
Вернуться в начало
- 509 Bandwidth Limit Exceeded
Этот код ответа используется при превышении веб-площадкой отведённого ей ограничения на потребление трафика.
Когда этот код может использоваться? Когда на сервере Apache выполняется корректное расширение, и в ISP установлен уровень пропускного канала, который скоро может быть превышен. Существует несколько опций предела.
Вернуться в начало
- 510 Not Extended
Когда на сервере отсутствует расширение, которое желает использовать клиент. Когда этот код может использоваться? Когда сервер требует больше информации в совершаемом запросе.
Вернуться в начало
- 511 Network Authentication Required
Данный код состояния отображается в случае, если клиент должен сначала авторизоваться в сети, например, ввести пароль для платной точки доступа к Интернету.
Когда этот код может использоваться? Когда пользователь предварительно должен дать свое согласие на условия использования, перед тем, как он получит доступ к интернету (например, к Wi-fi точке доступа).
Итак, надеюсь, что данный список хоть как-то окажется вам полезным. Если я упустил что-то из виду, пожалуйста, допишите информацию в комментариях, и я обязательно включу ее в статью. Пожалуйста, не забудьте поделиться этой статье с друзьями, чтобы они также были в курсе.
Вернуться в начало
— Пишите в
WhatsApp +7(987)-268-84-37
UniFR.dll#1: Фискальный регистратор перестанет работать через 50 дней. Обратитесь в обслуживающую организацию — подходит срок ФН, потребуется замена фискального накопителя.
UniFR.dll#1: Есть чеки не отправленные в ОФД (590 чек за 7 сут.) — нужно проверить связь с ОФД. Возможно нужно пополнить баланс в личном кабинете ОФД.
UniFR.dll#1: 3651 Ошибка (200).Логическая ошибка (0хС8):3-Порт занят.
r keeper фискальный регистратор не найден — нужно проверить связь с ККТ.
Автор: Нуруллин И.Н. Дата: 2023-02-03
Распространенные ошибки
В SOS-отчеты не передаются данные по времени с ВДУ.
- проверить работает ли касса №1;
Если запустить кассу не удается, то необходимо обратиться в техподдержку.
Номер кассы указан в правом верхнем углу экрана кассы после регистрации магнитной картой.
ЗАПОМНИТЕ ГДЕ НАХОДИТСЯ КАССА №1
- проверить на ВДУ наличие значка N/A. Если значок есть, то ВДУ необходимо перезагрузить.
Если все манипуляции не помогли, то необходимо обратиться в техподдержку с описанием проблемы.
При построении отчетов R_KEEPER ошибка: «Элемент 0 не найден в коллекции …»
Ошибка значит, что Вы пытаетесь построить отчёт в «YUM Справочники». Вам необходимо открыть другой ярлык на рабочем столе «YUM Отчёты»
Не запускается касса, ошибка 200 – Порт недоступен.
Ошибка сигнализирует, что недоступен принтер (фискальный регистратор) на кассе.
Необходимо проверить:
- включен ли принтер;
- если включен, то перезагрузить его;
- перезагрузить кассу;
Если все манипуляции не помогли, необходимо обратиться в тех. поддержку.
Не проходит оплата на Android-киосках и кассе CLC
Необходимо зайти на сайт my.kfc.digital и проверить какая ошибка отображается в заказах:
- выбрать ошибочный заказ
- перейти во вкладку «События»
- проверить ошибку.
Варианты ошибок:
«Пинпад: оплата отклонена – [4134]»
означает, что на данном киоске не закрыта смена на пинпаде (см. инструкцию Digital)
Ошибка «Общая смена была открыта слишком давно. Нужно закрыть»
означает, что не закрыта смена на кассе Click&Collect (см. инструкцию Digital)
Тема оказывается очень востребована, так как столько заходов на наш сайт по запросу Атол порт занят просто поражает.
В период окончательного перехода на драйвер Атола 10 появилась милая проблема:
Иногда после установки драйвера Атол 10 в системе Windows появляются 2 Com порта
И вот при связи из программы 10 драйвера : один порт занят , а по другому Нет Связи.
Примечание : обратите внимание atol-usbcom_proxy1 — это порт, по которому мы управляем кассовым аппаратом.
Примечание : обратите внимание atol-usbcom_proxy2 — это порт, по которому кассовый аппарат посылает чеки в интернет.
Полная переустановка драйверов и перезагрузка — не помогает.
Сюда же можно отнести ситуацию , когда касса печатает на тесте связи с ОФД — приложение EoU: не найдено
Все это связано с неправильной настройкой сервиса EoU.
EoU — это Ethernet Over Usb
Это специальная программа (сервис в ОС Windows) , которая запускается со стартом ОС и висит постоянно , обеспечивает передачу данных из USB VCOM в интернет.
Так вот эта прога может захватить не тот COM порт, в Windows это всегда делается монопольно, т.е. другая программа например Атол Драйвер 10 уже не может его открыть.
Пикантность ситуации в том , что раньше в драйвере ДТО 8 была утилита DTOIntergrator, которая настраивала EoU сервис , но в драйвере 10 ее по непонятным причинам теперь нет.
Первый — качаем опять старые драйвера ДТО8 (например 8.16 , можно устанавливать параллельно с ДТО 10) и устанавливаем только EoU:
и теперь у нас появляется утилита DTOIntergrator
запускаем ее и видим , что действительно порт занят сервисом :
надо его поменять на другой порт ( у нас например 88), перезапустить сервис и все заработает нормально.
Есть нюанс , по которому можно заметить какая EoU установлена на ПК : смотрим сервис и видим отображаемое имя EoU — это EoU из драйвера ДТО 8.
В версии из ДТО 10 по другому будет:
Второй способ — как изменить настройки порта EoU
Настройки EoU находятся в файле C:ProgramDataATOLEoUsettings.xml
C:ProgramData по умолчанию скрытый каталог. Чтобы зайти в него проще набрать в проводнике C:ProgramData. Или сделать его доступным для просмотра:
Ура нашел , где находятся настройки EoU — C:ProgramDataATOLEoUsettings.xml
Правим как надо и все работает как надо:
<settings>
<device>
<id>Атол 30Ф</id>
<port>88</port>
</device>
</settings>
Если файл почему-то не удается settings.xml сохранить в C:ProgramDataATOLEoU :
Чтобы изменения вступили в силу надо сначала остановить сервис EoU, изменить файл settings.xml , сохранить, и потом запустить сервис.
Теперь дополнительно некоторые нюансы : устанавливаем заново драйвера , кстати их 2 варианта под разрядность операционной системы 32 или 64 .
Допустим выбираем KKT10-10.3.1-windows64-setup:
Логи пишутся здесь C:ProgramDataATOLEoUlogs
Если покопаться в реестре , то можно попытаться найти где хранятся настройки EoU — но найти ничего не удастся.
Кстати USB порты отличаются : смотрите например сведения Строгое имя узла
oem95.inf:_Models.ntamd64:_Install_6:1.26.0.0:usbvid_2912&pid_0005&mi_00 - этот для управления кассой
oem95.inf:_Models.ntamd64:_Install_7:1.26.0.0:usbvid_2912&pid_0005&mi_02 - этот для EOU
Можно поизучать установочный inf файл драйверов USB Атола (у меня oem95.inf) см. каталоге C:Windowsinf , то в принципе понятно , что упоминания о EoU там нет и следовательно это утилита устанавливается отдельно от драйверов USB.
Постскриптум :
Надо отметить , что у Атола есть некая прога , которую можно отдельно скачать с со страницы загрузки. Что это за вариант EoU непонятно, но там куча версий этой программы.
Почему Атол до сих пор не исправил этот глюк с захватом не того порта при установке EoU — для меня не понятно (наверное так интересней жить).
Всем удачной работы и хорошего настроения!