# Требования Elang и настройка окружения

Перед установкой Elang убедитесь, что исполняемый файл PHP в терминале соответствует требованиям фреймворка. PHP в терминале и PHP веб-сервера могут относиться к разным установкам.

## Что понадобится

- PHP 8.3 или новее в пределах ветки PHP 8.x. Репозиторий тестируется на PHP 8.3 и 8.4.
- Composer 2 для установки PHP-зависимостей.
- Расширения PHP: ctype, JSON, mbstring, PDO и Sodium.
- Сборка PHP с поддержкой Argon2id для сервиса паролей.
- Драйвер PDO для выбранной базы данных. Включённые примеры используют `pdo_sqlite`.
- Терминал и текстовый редактор. Git полезен для участия в разработке фреймворка; обычные приложения устанавливаются через Composer.

Для набора тестов фреймворка дополнительно нужны расширения, требуемые PHPUnit, включая DOM и XML. `composer install` сообщает об отсутствующих расширениях, а не пропускает их молча.

## Проверьте терминал

Выполняйте эти команды по одной:

```bash
php -v
php --ini
php -m
composer --version
```

Первая команда должна показать PHP 8.3 или новее. Вторая показывает загруженный CLI-файл `php.ini`. Третья выводит список включённых модулей. Четвёртая должна подтвердить использование Composer 2.

Если `php` или `composer` не распознаётся, после установки откройте терминал заново и проверьте запись исполняемого файла в PATH. В Windows команда `where.exe php` показывает, какой исполняемый файл используется. В macOS и Linux используйте `command -v php`.

## Запустите Elang doctor

После установки зависимостей и создания ключа приложения:

```bash
php elang doctor
```

Каждая обязательная проверка должна показать `OK`. Doctor проверяет версию PHP, необходимые расширения, поддержку паролей, ключ приложения, доступность записи в хранилище, настройки отладки для рабочей среды и простое подключение к базе данных. Он не выводит ключ или учётные данные базы данных.

Для машиночитаемого вывода:

```bash
php elang doctor --json
```

Неудачная обязательная проверка возвращает ненулевой код завершения и конкретное указание следующего действия. Если отсутствует сам автозагрузчик, сначала выполните `composer install`, чтобы doctor мог запуститься.

## Выберите базу данных

SQLite — самый короткий путь для локального обучения. Он хранит данные в файле и не требует отдельного сервера базы данных. Храните этот файл вне `public/`.

Для MySQL нужны работающий сервер, учётные данные, созданная для приложения база данных и `pdo_mysql`. PostgreSQL аналогично требует сервер и `pdo_pgsql`. DBAL поддерживает эти драйверы; текущие интеграционные тесты репозитория проверяют SQLite, а не все платформы баз данных.

## Продолжите с учётом своего опыта

Впервые настраиваете локальные инструменты PHP? Следуйте руководству по [настройке окружения](/learn/environment) для Windows, macOS и Ubuntu. Уже уверенно работаете с PHP и Composer? Перейдите к [установке](/docs/v0.1/installation), а затем к [первому маршруту](/learn/first-route).
