веб-приложение в Symfony недоступно через домен_приложений на локальном хосте

#php #symfony

Вопрос:

Я развернул на своей локальной машине приложение Symfony. Ниже приведен связанный файл .env

 ###> symfony/framework-bundle ###
APP_ENV=dev
APP_SECRET=******
APP_DOMAIN=myapp.test
API_DOMAIN=api.myapp.test

###> symfony/swiftmailer-bundle ###
# For Gmail as a transport, use: "gmail://username:password@localhost"
# For a generic SMTP server, use: "smtp://localhost:25?encryption=amp;auth_mode="
# Delivery is disabled by default via "null://localhost"
MAILER_URL=smtp://localhost:1025
###< symfony/swiftmailer-bundle ###

###> doctrine/doctrine-bundle ###
# Format described at http://docs.doctrine-project.org/projects/doctrine-dbal/en/latest/reference/configuration.html#connecting-using-a-url
# For an SQLite database, use: "sqlite:///%kernel.project_dir%/var/data.db"
# Configure your db driver and server_version in config/packages/doctrine.yaml
DATABASE_URL=postgres://postgres@127.0.0.1:5432/myapp_dev
TEST_DATABASE_URL=postgres://postgres@127.0.0.1:5432/myapp_test
###< doctrine/doctrine-bundle ###

###> sentry/sentry-symfony ###
SENTRY_DSN=
###< sentry/sentry-symfony ###

......
 

Я запускаю сервер с помощью invoker

 port=8000
command=bin/console server:run
 

Где находится бункер/консоль

 #!/usr/bin/env php
<?php

use AppKernel;
use SymfonyBundleFrameworkBundleConsoleApplication;
use SymfonyComponentConsoleInputArgvInput;
use SymfonyComponentDebugDebug;
use SymfonyComponentDotenvDotenv;

set_time_limit(0);

require __DIR__.'/../vendor/autoload.php';

if (!class_exists(Application::class)) {
    throw new RuntimeException('You need to add "symfony/framework-bundle" as a Composer dependency.');
}

if (!isset($_SERVER['APP_ENV'])) {
    if (!class_exists(Dotenv::class)) {
        throw new RuntimeException('APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file.');
    }
    (new Dotenv())->load(__DIR__.'/../.env');
}

$input = new ArgvInput();
$env = $input->getParameterOption(['--env', '-e'], $_SERVER['APP_ENV'] ?? 'dev', true);
$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env)) amp;amp; !$input->hasParameterOption('--no-debug', true);

if ($debug) {
    umask(0000);

    if (class_exists(Debug::class)) {
        Debug::enable();
    }
}

$kernel = new Kernel($env, $debug);
$application = new Application($kernel);
$application->run($input);
 

Проблема в том, что я могу связаться с веб-приложением через 127.0.0.1: 8000, но не через myapp.test. Мне нужно связаться с вами через myapp.test. Почему это не работает?

Ответ №1:

Вам необходимо изменить файл HOSTS, чтобы зарегистрировать myapp.test как 127.0.0.1:8000, или вы можете использовать локальный прокси-сервер Symfony