Повторная инициализация приложения Laravel - PullRequest
0 голосов
/ 01 октября 2019

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

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

Я пытался, но это не помогло.

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

1 Ответ

0 голосов
/ 01 октября 2019

Я надеюсь, что это будет полезно для всех. Я написал этот помощник:

/**
 * 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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...