Никита Митусов Обсудить задачу

Вставьте текст ошибки

Бесплатный разбор. Пришлите текст ошибки: прочитаю и отвечу за рабочий день.

Нет ошибки под рукой?

Что узнаю сразу

16 видов сбоев. Откройте строку или подставьте пример в поле.

1С · XMLСайт ответил 1С не тем, что она ждала

1С запросила у сайта данные, а получила то, что не читается как XML. Чаще всего это предупреждение PHP перед XML, страница ошибки, редирект или странный символ в заказе.

  1. Повторите запрос обмена руками и откройте ответ сайта: он должен начинаться с <?xml.
  2. Если в начале текст PHP, выключите вывод ошибок на экран и исправьте причину по логу.
  3. Если XML чистый, проверьте названия из последних заказов: спецсимвол ломает разбор.

Подставить пример Читать разбор в блоге

1С · 504Обмен не уложился в таймаут сервера

Обмен идёт дольше, чем сервер готов ждать. 1С получает 502 или 504 и считает его упавшим, хотя PHP мог всё доделать.

  1. Найдите время запуска обмена в логе nginx и в логе PHP.
  2. Для PHP-FPM поднимите fastcgi_read_timeout. proxy_read_timeout работает только на прокси.
  3. Если каталог большой, разбейте обмен на части.

Подставить пример Открыть чек-лист по обмену

1С · 403Сайт не пускает 1С

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

  1. Откройте адрес обмена снаружи: 403 и 404 покажут, что его режет.
  2. Сверьте логин и пароль обмена на сайте и в настройке узла 1С.
  3. Для Розницы и УНФ указывайте только домен: полный адрес даст двойной путь.

Подставить пример Открыть чек-лист по обмену

ОплатаБанк получил деньги, а сайт об этом не узнал

Платёж прошёл, сломан мост между банком и заказом. Уведомление не дошло, попало на редирект или сайт ответил не так, как ждёт сервис.

  1. Откройте платёж в кабинете: в ЮKassa нужен статус succeeded.
  2. Проверьте, что адрес уведомлений отвечает без редиректа: 301 может превратить POST в GET.
  3. Запишите в файл всё, что приходит на адрес, до любой логики. Записей нет, значит проблема снаружи.

Подставить пример Читать разбор в блоге

API оплатыСервис оплаты отклонил запрос сайта

Сайт не может создать платёж. Чаще всего дело в ключах: тестовые вместо боевых, старый секрет после перевыпуска или другой магазин.

  1. Сравните идентификатор магазина и секретный ключ с кабинетом сервиса.
  2. Проверьте режим: тестовый ключ не работает с боевым магазином.
  3. Посмотрите полный ответ сервиса в логе: там есть код и поле с ошибкой.

Подставить пример Читать разбор в блоге

ВзломПохоже на заражение сайта

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

  1. Снимите копию сайта и базы как есть, до чистки.
  2. Смените пароли: хостинг, база, админка, FTP.
  3. Сравните файлы с чистой копией ядра и найдите, откуда код попал на сайт.

Подставить пример Читать разбор в блоге

WordPressWordPress поймал фатальную ошибку

Плагин, тема или обновление вызвали ошибку PHP, и WordPress показал заглушку. Данные при этом обычно целы.

  1. Проверьте почту администратора: WordPress присылает туда письмо с виновником и ссылкой на режим восстановления.
  2. Откройте wp-content/debug.log или лог PHP на время сбоя.
  3. Отключите виновника: переименуйте папку плагина через файловый менеджер.

Подставить пример Читать разбор в блоге

PHP FatalPHP остановился на фатальной ошибке

Код упал на конкретной строке. В тексте обычно есть файл и номер строки, это готовый адрес виновника. Если там Allowed memory size, кончилась память.

  1. Найдите в тексте путь к файлу: по папке видно плагин или тему.
  2. Вспомните, что обновляли перед сбоем: PHP, плагин, тему.
  3. Если дело в памяти, поднимите memory_limit и найдите, что её съедает.

Подставить пример Читать разбор в блоге

БазаСайт не достучался до базы данных

PHP работает, а база не отвечает: упала, кончились соединения или место на диске, либо изменился пароль.

  1. Проверьте, запущена ли база и есть ли место на диске.
  2. Сверьте доступы в wp-config.php или настройках CMS с хостингом.
  3. Посмотрите лог MySQL: таблица могла повредиться.

Подставить пример

504Сервер не дождался ответа

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

  1. Найдите адрес в логе nginx: строка upstream timed out покажет, какой запрос висел.
  2. Посмотрите медленные запросы к базе и обращения к внешним сервисам.
  3. Поднимайте таймаут только после этого и в нужном месте: fastcgi_read_timeout для PHP-FPM.

Подставить пример Читать разбор в блоге

502Сервер за сайтом не отвечает

nginx жив, а PHP за ним упал, перезапустился или занят: все рабочие процессы уже держат другие запросы.

  1. Проверьте, запущен ли php-fpm, и откройте лог nginx на время ошибки.
  2. Посмотрите, не кончились ли процессы: в логе php-fpm это max_children.
  3. Вспомните, что менялось: версия PHP, настройки, всплеск посещений.

Подставить пример Читать разбор в блоге

500 · 503Сайт упал внутри себя

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

  1. Откройте лог ошибок PHP или панель хостинга: причина записана там.
  2. Проверьте .htaccess и что менялось в файлах последним.
  3. На WordPress посмотрите, не остался ли файл .maintenance после обновления.

Подставить пример Читать разбор в блоге

ЗаявкиЗаявка теряется по пути к вам

Форма сработала, а письмо не дошло: отправка с домена без настроенной почты попадает в спам или отбрасывается. Иногда ломается сама форма или капча.

  1. Отправьте тестовую заявку и проверьте папку со спамом.
  2. Посмотрите, чем сайт шлёт почту: отправка через SMTP надёжнее почты хостинга.
  3. Проверьте записи SPF и DKIM у домена.

Подставить пример Читать разбор в блоге

ПоискПоисковик не берёт страницы

Страницу закрыли от робота, или робот её нашёл, но не счёл полезной. Сначала исключите запреты: robots.txt, noindex, ответ сервера. Молодой домен к тому же индексируется дольше.

  1. Проверьте адрес в Яндекс Вебмастере и Search Console: там написана причина.
  2. Откройте robots.txt и код страницы: нет ли запрета и noindex.
  3. На WordPress проверьте настройку «Попросить поисковые системы не индексировать сайт».

Подставить пример Читать разбор в блоге

СкоростьСайт тормозит

Скорость держится на трёх вещах: сколько сервер думает над страницей, сколько она весит и сколько чужих скриптов тянет. Сначала надо понять, что из этого ваш случай.

  1. Замерьте PageSpeed на главной и на странице, где медленнее всего.
  2. Посмотрите TTFB: если он большой, дело в сервере и базе.
  3. Проверьте вес картинок и чужие скрипты в начале страницы.

Подставить пример Читать разбор в блоге

HTTPSБраузер не доверяет сертификату

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

  1. Посмотрите дату окончания сертификата в браузере или панели хостинга.
  2. Проверьте, что он выпущен на этот адрес, с www и без.
  3. Настройте автопродление, чтобы сбой не повторился.

Подставить пример

Дальше читаю сам

Бесплатно и только по тексту, 3–5 разборов в неделю. Отвечаю за рабочий день.

  1. Что сломалось

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

    Вероятную причину

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

  2. Где это работает

    CMS, версия 1С или платёжный сервис, адрес сайта.

    Порядок проверки

    Что посмотреть самому и что исключить.

  3. Когда началось

    Что менялось перед этим: обновления, домен, хостинг, подрядчик.

    Оценку

    Если нужна работа, назову цену. Если хватит настройки, так и скажу.

Описать ошибку

Если нужен доступ к логам и серверу, это платный разбор за 3 000 ₽. Сумма идёт в зачёт работы.

Доработка и поддержка · Чек-лист по обмену с 1С