Повторно запустить приложение laravel

У меня два веб-сайта в одном приложении laravel. Http-запросы не имеют проблем: в зависимости от домена приложение включает разные представления, конфиг и прочее. Но у команд и асинхронных заданий есть проблемы. Создание приложения по умолчанию. Я передаю параметр (домен), но не могу повторно запустить приложение. Я делаю что угодно, но пути по умолчанию.

$app = require DIR.'/../bootstrap/app.php'; $app->make(Kernel::class)->bootstrap();

Я пробовал, но это не помогло.

Подскажите пожалуйста как это сделать.


person Андрей Лящевский    schedule 01.10.2019    source источник


Ответы (1)


Надеюсь, это будет кому-нибудь полезно. Я написал этому помощнику:

/**
 * 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();
}
person Андрей Лящевский    schedule 01.10.2019
comment
Что такое Dotenv и приложение :: ДОМЕНЫ - person Bhumi Shah; 04.11.2020