Как правило при разработки используются стенды:
1. develop - У каждого разработчика свой стенд. На нем он разрабатывает фичи для проекта.
2. test - Тестовый стенд, куда переносят разработанные фичи для тестирования.
3. production - Рабочий сайт.
Как в php можно сконфигурировать сервера, чтобы сервер автоматически подключал файлы конфигурации, специфичные для дева, теста и продакшена?
Вот один из возможных методов.
1. Создаем в корне сервера файл .htaccess и указываем в нем переменную для данного стенда:
SetEnv APPLICATION_ENV develop
Это в том случае, если мы находимся на девелоперском стенде.
Для тестового стенда эта переменная задавалась бы так:
SetEnv APPLICATION_ENV test
2. В файле конфигурации вашего приложения (к примеру, config.php) теперь можно использовать созданную переменную APPLICATION_ENV:
Как видно, в зависимости от среды происходит подключение файла конфигурации, специфичного для данного стенда.
Другой способ задать переменную окружения - сделать это в php-скрипте, который будет отличаться на каждом из стендов:
Здесь также в зависимости от среды можно производить подключение нужного файла конфигурации.
1. develop - У каждого разработчика свой стенд. На нем он разрабатывает фичи для проекта.
2. test - Тестовый стенд, куда переносят разработанные фичи для тестирования.
3. production - Рабочий сайт.
Как в php можно сконфигурировать сервера, чтобы сервер автоматически подключал файлы конфигурации, специфичные для дева, теста и продакшена?
Вот один из возможных методов.
1. Создаем в корне сервера файл .htaccess и указываем в нем переменную для данного стенда:
SetEnv APPLICATION_ENV develop
Это в том случае, если мы находимся на девелоперском стенде.
Для тестового стенда эта переменная задавалась бы так:
SetEnv APPLICATION_ENV test
2. В файле конфигурации вашего приложения (к примеру, config.php) теперь можно использовать созданную переменную APPLICATION_ENV:
<?php switch (getenv('APPLICATION_ENV')) { case 'production': require_once 'prod.php'; break; case 'testing': require_once 'test.php'; break; default: require_once 'dev.php'; break; }
Как видно, в зависимости от среды происходит подключение файла конфигурации, специфичного для данного стенда.
Другой способ задать переменную окружения - сделать это в php-скрипте, который будет отличаться на каждом из стендов:
//Определяем среду разработки putenv("APPLICATION_ENV=production");
Здесь также в зависимости от среды можно производить подключение нужного файла конфигурации.
Комментариев нет:
Отправить комментарий