Laravel 4.2 с использованием Apache Dev и производственных поддоменов

Мне нужно настроить среду разработки и производства с использованием поддоменов с Laravel и Apache. Например:

dev.mydomain.com
app.mydomain.com

Где приложение — это производство, а dev — разработка. Внутри моего / var / www у меня есть папки dev.mydomain.com и app.mydomain.com. Внутри каждой из этих папок у меня есть идентичные проекты Laravel (кроме файлов конфигурации, указывающих на разные субдомены и базы данных).

Я хотел разделить места, чтобы иметь возможность тестировать на разных базах данных, а также тестировать новые файлы разработки, прежде чем приступить к работе (практически без простоев). Я могу получить доступ к любому субдомену по одному, временно удалив конфигурацию другого в моих файлах конфигурации Apache, но это громоздко и приводит к простоям обоих приложений.

Мои файлы .htaccess кажутся правильными, потому что я могу просмотреть тестовый URL в обоих поддоменах (используя простые файлы .html). Когда я пытаюсь получить доступ к поддоменам с установленным laravel, я получаю странные результаты, такие как возможность подключения к базе данных dev, находящейся в поддомене приложения, ИЛИ возможность войти в среду приложения, но не удается войти в среду разработки или наоборот.

Я искал стекпотока и поиска в Google, чтобы попытаться найти решение, но пока ничего не найдено. Я в основном нашел учебники о том, как настроить

detectEnvironment

с Laravel, как в ссылке здесь:

http://chrishayes.ca/blog/code/laravel-4-setting-utilizing-environments-environment-configuration

У кого-нибудь есть решение для этого или лучший способ работы со средой разработки / тестирования в Laravel наряду с производственной средой?

1

Решение

В bootstrap/start.php что вы можете сделать, это установить среду в зависимости от используемого домена:

$env = $app->detectEnvironment(function(){
if (!isset($_SERVER['HTTP_HOST']) ||
$_SERVER['HTTP_HOST'] =='dev.mydomain.com') {
return 'dev';
}
return 'production';
});

Единственная проблема здесь с artisan Я верю — вы сможете использовать его только для одной среды. В приведенном выше коде ремесленник будет использоваться для среды разработки (потому что, если вы используете ремесленника $_SERVER['HTTP_HOST'] не указан и в вышеприведенном коде для этого dev развитие выбирается.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]