Проверка системы - что смотрит и что чинить первым
Проверка системы сверяет сервер с требованиями платформы и называет расхождения прямо. Проходим её после установки, после каждого обновления окружения и перед разбором непонятного сбоя.
Решение
Где запускается проверка
Открываем страницу проверки в админке:
Настройки > Инструменты > Проверка системы/bitrix/admin/site_checker.php # прямой адрес страницыСтраница работает внутри уже установленного сайта и видит его настройки, базу и права на файлы. До установки продукта её ещё нет, и сервер проверяют отдельным скриптом.
Проверка до установки
Кладём в корень сайта скрипт требований:
cd /home/bitrix/wwwwget https://dev.1c-bitrix.ru/download/scripts/bitrix_server_test.phpchown bitrix:bitrix bitrix_server_test.php # владелец = пользователь веб-сервераСкрипт сверяет только серверную часть: версии PHP и базы, расширения, значения
php.ini. В BitrixVM мастер установки шаги «проверка системы» и «параметры БД»
пропускает, потому что окружение уже собрано под требования.
Что она смотрит
Настройки PHP, из-за которых проверка краснеет чаще всего:
memory_limit = 256Mmax_input_vars = 10000max_execution_time = 300default_charset = UTF-8pcre.backtrack_limit = 1000000mbstring.func_overload = 0 ; параметр должен быть удалён или обнулёнshort_open_tag = Onopcache.max_accelerated_files = 100000Кроме настроек проверка смотрит обязательные расширения (GD с FreeType, XML/DOM,
mbstring, Zlib, ZIP, OpenSSL, Hash, PCRE, mysqli), права на файлы, кодировку
таблиц базы и отправку почты. Расширения suhosin и mod_security платформой
запрещены, и проверка отмечает их отдельным красным пунктом.
Как читать отчёт
Отчёт называет каждый пункт и его состояние:
Версия PHP OkРасширения PHP OkКодировки таблиц в БД Fail (check_mysql_table_charset)Работа с сокетами Fail (check_socket)Отправка почты больше 64Кб Ошибка! Отправлено. Время отправки: 1.03 секПрава на файлы и папки OkКрасное здесь не равно аварии. Версия PHP, кодировка базы и отсутствующее расширение блокируют работу и правятся первыми, а замечания про скорость почты и про сокеты часто оказываются особенностью площадки.
Красные пункты и что менять
Разбираем нехватку расширений и настроек:
php -m | grep -iE 'gd|mbstring|zip|openssl|mysqli' # чего не хватаетls /etc/php.d/*.ini.disabled # отключено обновлением VMmv -f /etc/php.d/zip.ini.disabled /etc/php.d/zip.ini # только переименованиеecho 'memory_limit = 256M' >> /etc/php.d/z_bx_custom.inimysql -e "SHOW VARIABLES LIKE 'character_set_database'" # ждём utf8mb4systemctl restart httpd nginxСвои значения кладём только в z_bx_custom.ini: сгенерированные файлы окружение
переписывает при обновлении. Модуль возвращают переименованием, а не копией,
иначе следующее обновление PHP отключит его снова.
Повторный прогон и фиксация
Сохраняем отчёт и убираем скрипт из корня:
curl -s -o /root/server_test_$(date +%F).html http://127.0.0.1/bitrix_server_test.phprm -f /home/bitrix/www/bitrix_server_test.php # доступен всем, кто знает адресПрогоняем проверку заново после каждой правки, а не после всех сразу: так видно, какое изменение закрыло какой пункт. Сохранённый отчёт становится точкой отсчёта, с которой сравнивают результат после следующего обновления окружения.
Когда ругается на настроенное
Проверяем адрес, которым открыта админка:
curl -sI https://site.ru/bitrix/admin/site_checker.php | head -1openssl s_client -connect site.ru:443 -servername site.ru </dev/null 2>&1 | grep -i verifyВход по IP-адресу вместо доменного имени роняет проверку сокетов на несовпадении имени в сертификате. Тот же красный пункт даёт защита периметра, которая режет запросы страницы проверки к собственному сайту.
Типичные проблемы
Отправка письма больше 64 Кб помечена ошибкой, хотя письмо дошло.
Проверка засчитывает как отказ любую отправку дольше одной секунды, даже если письмо доставлено. Внешний почтовый узел отвечает медленнее локального демона, и для BitrixVM это штатная картина.
Кодировки таблиц в БД (check_mysql_table_charset): Fail.
Таблица собрана в чужой кодировке или повреждена внутренней ошибкой MySQL, и проверка её отмечает. Автоматическое исправление пересоздаёт такую таблицу пустой, поэтому копию базы делаем до нажатия кнопки.
Проверка зависает на структуре базы и не идёт дальше.
Проверка структуры базы на большом проекте не укладывается в отведённое настройкой max_execution_time время. Поднимаем лимит до трёхсот секунд в своём файле настроек и прогоняем в спокойные часы.
Ошибки сокетов вылезли после переноса на свой сервер.
Сайт открыт по IP-адресу или локальному имени, а в сертификате прописан рабочий домен. Проверку проходят по тому же публичному адресу, каким сайт открывают обычные посетители снаружи.
После обновления окружения проверка нашла пропавшие расширения.
При обновлении окружения файлы модулей PHP переименовываются в *.ini.disabled, и расширения выпадают из набора. Возвращают расширение обратным переименованием файла и перезапуском веб-сервера, а копирование здесь не годится.
Частые вопросы
Чем bitrix_server_test.php отличается от проверки системы в админке?
Скрипт сверяет только серверную часть и работает без установленного продукта. Проверка системы дополнительно смотрит базу, права на файлы, почту и сокеты самого сайта, поэтому запускать её можно лишь после установки.
Проверка системы зависает, как её всё-таки пройти?
Чаще всего останавливается проверка структуры базы: на большой базе она не укладывается в отведённое время. Поднимаем max_execution_time до 300 секунд в z_bx_custom.ini и запускаем в часы без нагрузки.
При проверке системы выдаёт ошибку отправки почты, что делать?
Сначала смотрим, дошло ли тестовое письмо. Если дошло, а красным помечено время отправки, дело в скорости внешнего почтового узла: порог проверки составляет одну секунду, и медленный ответ она засчитывает как отказ.
После обновления PHP проверка системы показывает ошибку, почему?
Расширения ставятся под конкретную ветку языка и вместе с ней же отключаются. Обновление переименовывает их файлы, и набор модулей под новой веткой отличается от прежнего.
Обязательно ли устранять все замечания перед установкой?
Несовместимости на шаге проверки устраняют до продолжения установки, иначе продукт встанет на заведомо неподходящий сервер. Предупреждения про скорость почты и сокеты установку не блокируют.
Смежное
- BitrixVM и веб-окружение - оглавление подтемы
- Сервер и поиск - устройство сервера целиком
- Мониторинг сервера: что смотреть до того, как сайт упадёт - показатели боевого сервера между проверками
- Обновление окружения и смена версии PHP в BitrixVM - откуда берутся пропавшие расширения
- Ошибка при установке веб-окружения: разбор причин - когда проверять ещё нечего
- Почта в веб-окружении: пункт меню, отправка, журнал - разбор красного пункта про письма
- База данных в веб-окружении: запуск, настройки, доступ снаружи - кодировка и настройки базы
- Окружение за прокси и в облаке: адреса, протокол, доступ наружу - почему падают проверки сокетов
- Переход на новую версию PHP: порядок, проверки, откат - смена ветки языка целиком
- Illegal mix of collations: разные кодировки таблиц и соединения - что стоит за красной кодировкой таблиц
- Платформа на обычном хостинге: настройка руками - что чинить там, где меню окружения нет
- Мастер установки не проходит - когда красный пункт проверки остановил саму установку