Конвертер конфигов
Не вставляйте боевые .env с паролями и токенами: файл уходит на сервер для разбора.
Что теряется при преобразовании
Форматы неравны по возможностям, и часть преобразований необратима. Инструмент говорит об этом прямо, вместо того чтобы выдать правдоподобный, но неверный результат.
в .env | вложенность уплощается в DB_HOST; списки не поддерживаются; имя с цифры впереди получает букву-префикс |
из .env | значения остаются строками: PORT=5432 это "5432", а не число |
в CSV | нужен массив объектов с одинаковыми полями — таблица не хранит вложенность |
из CSV | первая строка становится заголовком, все значения — строки |
в XML | корневой элемент root; ключи приводятся к именам тегов |
из XML | атрибуты попадают в @attributes, повторяющиеся теги — в список |
Почему .env не разворачивается во вложенность
Из имени DB_HOST невозможно надёжно понять, это db.host или цельный ключ:
APP_SECRET — не app.secret. Инструмент уплощает вниз, но не угадывает вверх:
молчаливая ошибка в конфиге дороже лишней ручной работы. Ещё одно ограничение имени переменной: оно не
может начинаться с цифры — такие ключи (например, из списка объектов или CSV с числовым индексом
впереди) получают букву-префикс: 0_NAME становится V0_NAME.
Частые вопросы
Что теряется при переводе в .env?
Из имени DB_HOST невозможно надёжно понять, это db.host или цельный ключ: APP_SECRET — не app.secret. Инструмент уплощает вниз, но не угадывает вверх: молчаливая ошибка в конфиге дороже лишней ручной работы. Кроме того, .env хранит только плоские пары «ключ — значение» — списки не поддерживаются, а имя переменной не может начинаться с цифры, поэтому такие ключи получают букву-префикс: 0_NAME становится V0_NAME.
Почему из CSV всё приходит строками?
CSV — текстовый табличный формат без понятия типов: значения остаются строками, PORT=5432 это "5432", а не число. Угадывать типы так же опасно, как угадывать вложенность, — формат этой информации не несёт.
Почему XML с DOCTYPE не принимается?
DOCTYPE в XML позволяет объявлять внешние сущности и подставлять содержимое произвольных файлов сервера (атака XXE). Документы с DOCTYPE инструмент отклоняет с понятным объяснением ещё до разбора, вне зависимости от того, что внутри.
Другие конвертеры
JSON ⟷ PHP-массив, JSON ⟷ YAML, CSV ⟷ JSON, JSON ⟷ XML, а также остальные инструменты.
Читайте по теме: продакшен-конфиг Nginx + PHP-FPM — пример реальных конфигов, которые удобно проверять этим конвертером.
Нужна разработка или консультация?
Опишите задачу — отвечу и предложу формат работы.