#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