Команды отладки и диагностики 
Команды для отладки и диагностики системы: просмотр конфигурации.
debug:config 
Выводит конфигурацию системы из файла .settings.php.
Синтаксис 
php bitrix.php debug:config [опции]Опции 
--key=<ключ>- показать конфигурацию конкретного параметра--show-sensitive- показать чувствительные данные (пароли, ключи)-v,-vv- подробный вывод
Примеры использования 
# Показать основные параметры конфигурации
php bitrix.php debug:config
# Показать конкретный параметр
php bitrix.php debug:config --key=cache
php bitrix.php debug:config --key=connections
php bitrix.php debug:config --key=crypto
php bitrix.php debug:config --key=exception_handling
# С подробной информацией
php bitrix.php debug:config -v
# Показать все, включая чувствительные данные
php bitrix.php debug:config --show-sensitiveДоступные ключи конфигурации 
Основные параметры 
connections - настройки подключения к базе данных:
php bitrix.php debug:config --key=connectionsПоказывает:
- Тип БД (MySQL, PostgreSQL, MSSQL, Oracle)
 - Хост
 - База данных
 - Логин (без пароля по умолчанию)
 - Параметры подключения
 
cache - настройки кеширования:
php bitrix.php debug:config --key=cacheПоказывает:
- Тип кеша (memcache, redis, files)
 - Хост и порт
 - SID
 - Настройки подключения
 
crypto - настройки шифрования:
php bitrix.php debug:config --key=cryptoПоказывает:
- Крипто-ключ (скрыт по умолчанию)
 
exception_handling - обработка исключений:
php bitrix.php debug:config --key=exception_handlingПоказывает:
- Режим отладки
 - Уровень детализации ошибок
 - Логирование
 
session - настройки сессий:
php bitrix.php debug:config --key=sessionМодули 
pull - настройки Bitrix24.Pull:
php bitrix.php debug:config --key=pullmessenger - настройки мессенджера:
php bitrix.php debug:config --key=messengerБезопасность 
🔒 Внимание! По умолчанию команда скрывает чувствительные данные:
- Пароли базы данных
 - Крипто-ключи
 - API-токены
 - Секретные ключи
 
Для отображения используйте опцию --show-sensitive, но только в безопасном окружении!
Использование в диагностике 
Проверка подключения к базе данных 
#!/bin/bash
# Проверка настроек подключения к БД
cd /var/www/bitrix
echo "=== Проверка подключения к базе данных ==="
# Получить настройки подключения
php bitrix.php debug:config --key=connections
# Проверить подключение
echo "Проверка подключения..."
php bitrix.php db:info
if [ $? -eq 0 ]; then
    echo "✓ Подключение к БД работает"
else
    echo "✗ Ошибка подключения к БД"
fiПроверка конфигурации кеша 
#!/bin/bash
# Диагностика настроек кеша
cd /var/www/bitrix
echo "=== Конфигурация кеша ==="
php bitrix.php debug:config --key=cache
# Если используется Redis
CACHE_TYPE=$(php bitrix.php debug:config --key=cache | grep -oP 'type:\s*\K\w+')
if [ "$CACHE_TYPE" = "redis" ]; then
    echo "Проверка подключения к Redis..."
    redis-cli ping
    
    if [ $? -eq 0 ]; then
        echo "✓ Redis доступен"
    else
        echo "✗ Redis недоступен"
    fi
fi
# Если используется Memcached
if [ "$CACHE_TYPE" = "memcache" ]; then
    echo "Проверка подключения к Memcached..."
    echo "stats" | nc localhost 11211
    
    if [ $? -eq 0 ]; then
        echo "✓ Memcached доступен"
    else
        echo "✗ Memcached недоступен"
    fi
fiПолная диагностика системы 
#!/bin/bash
# Комплексная диагностика конфигурации
cd /var/www/bitrix
REPORT="/tmp/system_diagnostic_$(date +%Y%m%d_%H%M%S).txt"
{
    echo "=== Диагностика системы Битрикс ==="
    echo "Дата: $(date)"
    echo ""
    
    echo "=== PHP Version ==="
    php -v
    echo ""
    
    echo "=== Bitrix Configuration ==="
    php bitrix.php debug:config -v
    echo ""
    
    echo "=== Database Info ==="
    php bitrix.php db:info
    echo ""
    
    echo "=== Modules ==="
    php bitrix.php module:list
    echo ""
    
    echo "=== Sites ==="
    php bitrix.php site:list -v
    echo ""
    
    echo "=== Disk Space ==="
    df -h
    echo ""
    
    echo "=== Memory ==="
    free -h
    echo ""
    
} > "$REPORT"
echo "Отчет сохранен: $REPORT"
cat "$REPORT"Экспорт конфигурации 
#!/bin/bash
# Безопасный экспорт конфигурации (без чувствительных данных)
cd /var/www/bitrix
BACKUP_DIR="/backup/config"
mkdir -p "$BACKUP_DIR"
CONFIG_FILE="$BACKUP_DIR/config_$(date +%Y%m%d_%H%M%S).txt"
# Экспорт конфигурации без паролей
php bitrix.php debug:config -v > "$CONFIG_FILE"
# Создать архив
tar -czf "$CONFIG_FILE.tar.gz" -C "$BACKUP_DIR" "$(basename $CONFIG_FILE)"
rm "$CONFIG_FILE"
echo "Конфигурация сохранена: $CONFIG_FILE.tar.gz"Сравнение конфигураций 
#!/bin/bash
# Сравнение текущей конфигурации с эталонной
cd /var/www/bitrix
CURRENT="/tmp/config_current.txt"
REFERENCE="/var/backup/config_reference.txt"
# Получить текущую конфигурацию
php bitrix.php debug:config -v > "$CURRENT"
if [ -f "$REFERENCE" ]; then
    echo "=== Сравнение конфигураций ==="
    
    if diff -q "$REFERENCE" "$CURRENT" > /dev/null; then
        echo "✓ Конфигурация не изменилась"
    else
        echo "⚠ Обнаружены изменения:"
        diff "$REFERENCE" "$CURRENT"
    fi
else
    echo "Эталонная конфигурация не найдена"
    echo "Сохранение текущей конфигурации как эталонной..."
    cp "$CURRENT" "$REFERENCE"
fiПродвинутые сценарии 
Мониторинг изменений конфигурации 
#!/bin/bash
# Автоматический мониторинг изменений в конфигурации
cd /var/www/bitrix
CURRENT="/tmp/config_current_$(date +%Y%m%d).txt"
PREVIOUS="/var/cache/config_previous.txt"
# Получить текущую конфигурацию
php bitrix.php debug:config -v > "$CURRENT"
# Сравнить с предыдущей
if [ -f "$PREVIOUS" ]; then
    if ! diff -q "$PREVIOUS" "$CURRENT" > /dev/null; then
        {
            echo "Обнаружены изменения в конфигурации:"
            echo "Дата: $(date)"
            echo ""
            diff "$PREVIOUS" "$CURRENT"
        } | mail -s "Bitrix Configuration Changed" admin@example.com
    fi
fi
# Сохранить текущую конфигурацию
cp "$CURRENT" "$PREVIOUS"Валидация конфигурации 
#!/bin/bash
# Проверка корректности конфигурации
cd /var/www/bitrix
echo "=== Валидация конфигурации ==="
# Проверка базы данных
echo -n "Проверка подключения к БД: "
if php bitrix.php db:info > /dev/null 2>&1; then
    echo "✓ OK"
else
    echo "✗ ОШИБКА"
    exit 1
fi
# Проверка кеша
echo -n "Проверка кеша: "
if php bitrix.php cache:clear > /dev/null 2>&1; then
    echo "✓ OK"
else
    echo "✗ ОШИБКА"
fi
# Проверка прав доступа
echo -n "Проверка прав доступа: "
if [ -w ../bitrix/cache ]; then
    echo "✓ OK"
else
    echo "✗ ОШИБКА: нет прав записи в /bitrix/cache"
fi
echo "Валидация завершена"Генерация документации конфигурации 
#!/bin/bash
# Создание документации по текущей конфигурации
cd /var/www/bitrix
DOC_FILE="/docs/bitrix_configuration.md"
{
    echo "# Конфигурация Битрикс"
    echo ""
    echo "Дата генерации: $(date)"
    echo ""
    
    echo "## База данных"
    echo '```'
    php bitrix.php debug:config --key=connections
    echo '```'
    echo ""
    
    echo "## Кеш"
    echo '```'
    php bitrix.php debug:config --key=cache
    echo '```'
    echo ""
    
    echo "## Информация о БД"
    echo '```'
    php bitrix.php db:info
    echo '```'
    echo ""
    
    echo "## Установленные модули"
    echo '```'
    php bitrix.php module:list
    echo '```'
    echo ""
    
    echo "## Сайты"
    echo '```'
    php bitrix.php site:list -v
    echo '```'
    echo ""
    
} > "$DOC_FILE"
echo "Документация создана: $DOC_FILE"Автоматическое оповещение о проблемах 
#!/bin/bash
# Проверка конфигурации и оповещение при проблемах
cd /var/www/bitrix
ISSUES=()
# Проверка БД
if ! php bitrix.php db:info > /dev/null 2>&1; then
    ISSUES+=("Ошибка подключения к базе данных")
fi
# Проверка режима отладки в продакшене
DEBUG_MODE=$(php bitrix.php debug:config --key=exception_handling | grep -i "debug")
if [ -n "$DEBUG_MODE" ]; then
    ISSUES+=("Включен режим отладки (возможна утечка информации)")
fi
# Проверка прав доступа
if [ ! -w ../bitrix/cache ]; then
    ISSUES+=("Нет прав записи в директорию кеша")
fi
# Отправить уведомление при наличии проблем
if [ ${#ISSUES[@]} -gt 0 ]; then
    {
        echo "Обнаружены проблемы в конфигурации:"
        echo ""
        for issue in "${ISSUES[@]}"; do
            echo "- $issue"
        done
    } | mail -s "Bitrix Configuration Issues" admin@example.com
fiTroubleshooting 
Команда не выводит данные 
Проблема: Команда выполняется, но не выводит конфигурацию
Решения:
- Проверьте наличие файла 
.settings.php - Проверьте права доступа к файлу: 
ls -la ../bitrix/.settings.php - Проверьте синтаксис файла 
.settings.php - Проверьте логи PHP
 
Отображаются чувствительные данные 
Проблема: Пароли и ключи видны в выводе
Решения:
- Не используйте опцию 
--show-sensitiveбез необходимости - Не сохраняйте вывод команды в незащищенные файлы
 - Очистите историю команд: 
history -c 
Ошибка чтения конфигурации 
Проблема: Ошибка при чтении .settings.php
Решения:
- Проверьте синтаксис файла
 - Убедитесь, что файл не поврежден
 - Восстановите из резервной копии
 - Проверьте кодировку файла (должна быть UTF-8)
 
Полезные советы 
💡 Регулярно экспортируйте - сохраняйте конфигурацию перед внесением изменений
💡 Мониторьте изменения - отслеживайте несанкционированные изменения автоматически
💡 Документируйте - создавайте актуальную документацию по конфигурации
💡 Будьте осторожны - не публикуйте чувствительные данные
💡 Автоматизируйте проверки - регулярно валидируйте конфигурацию
💡 Используйте версионирование - храните изменения конфигурации в Git (без паролей!)
Безопасность 
Защита чувствительных данных 
⚠️ Важно:
- Никогда не публикуйте вывод с опцией 
--show-sensitive - Не сохраняйте пароли в логи
 - Ограничьте доступ к серверу
 - Используйте шифрование для передачи данных
 
Рекомендации 
- Используйте переменные окружения для чувствительных данных
 - Ограничьте доступ к 
.settings.php - Аудируйте изменения конфигурации
 - Используйте разные пароли для разных окружений
 
Смотрите также 
- Команды базы данных - информация о БД
 - Команды сайтов - информация о сайтах
 - Команды модулей - список установленных модулей