Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте! У меня работают два сайта с разными доменами в одном приложении. С http запросами нет проблем: в зависимости от домена берутся разные конфиги, вьюхи и т.д. А вот с командами и асинхронными джобами беда. Создается приложение по-умолчанию. Я пробрасываю параметр (домен), но переинициализировать приложение не получается. Что не делаю, пути остаются дефолтными.
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
пробовал, не помогает.
Подскажите, пожалуйста, как быть.
Изменено andrylyaschevsky (30.09.2019 17:46:12)
Не в сети
Надеюсь это кому-то поможет. Написал такой хелпер:
/**
* Init the application.
*
* @param string $domain
* @return void
*/
function initApplication(string $domain = App::DOMAINS[App::DEFAULT_SUBDIR])
{
$_SERVER = array_diff_key($_SERVER, $_ENV);
array_map('putenv', array_keys($_ENV));
$_ENV = [];
global $app;
$_SERVER['SERVER_NAME'] = $domain;
$app = require __DIR__.'/../bootstrap/app.php';
$app->make(Kernel::class)->bootstrap();
}
Не в сети
Надеюсь это кому-то поможет. Написал такой хелпер:
/**
* Init the application.
*
* @param string $domain
* @return void
*/
function initApplication(string $domain = App::DOMAINS[App::DEFAULT_SUBDIR])
{
if (function_exists('putenv')) {
array_map('putenv', array_keys($_ENV));
}
$_SERVER = array_diff_key($_SERVER, $_ENV);
$_ENV = [];
global $app;
$_SERVER['SERVER_NAME'] = $domain;
$app = require __DIR__.'/../bootstrap/app.php';
(new Dotenv\Loader($app->environmentFilePath()))->load();
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
}
Не в сети
Страницы 1