Как я могу узнать причину пустой страницы домашней страницы Symfony? - PullRequest
0 голосов
/ 06 июня 2018

Я использую платформу Symfony.Я назначил папку public своему поддомену project.mypage.com Теперь я вижу только пустую страницу.Если я вместо этого назначу корневую папку Symfony своему поддомену и зайду на project.mypage.com/public, тогда я увижу свой веб-сайт!Это странно ...

Это мой index.php в общей папке:

<?php

use App\Kernel;
use Symfony\Component\Debug\Debug;
use Symfony\Component\Dotenv\Dotenv;
use Symfony\Component\HttpFoundation\Request;

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

// The check is to ensure we don't use .env in production
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');
}

$env = $_SERVER['APP_ENV'] ?? 'dev';
$debug = (bool) ($_SERVER['APP_DEBUG'] ?? ('prod' !== $env));

if ($debug) {
    umask(0000);

    Debug::enable();
}

if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? false) {
    Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
}

if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? false) {
    Request::setTrustedHosts(explode(',', $trustedHosts));
}

$kernel = new Kernel($env, $debug);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

Это последняя запись в моем dev.log:

[2018-06-05 15:36:42] request.INFO: Matched route "_wdt". {"route":"_wdt","route_parameters":{"_controller":"web_profiler.controller.profiler:toolbarAction","token":"28c9ba","_route":"_wdt"},"request_uri":"http://project.mypage.com/public/_wdt/38c9ba","method":"GET"} []

1 Ответ

0 голосов
/ 06 июня 2018

Я думаю, что проблема в вашем Требуется заявление.Проверьте, где находится ваша папка vendor .

Например: если ваш файл кода (ниже) находится на том же уровне каталога, что и поставщик, вам не нужно будет использовать '..' в случае необходимости.

use App\Kernel;
use Symfony\Component\Debug\Debug;
use Symfony\Component\Dotenv\Dotenv;
use Symfony\Component\HttpFoundation\Request;

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

И наоборот, если в каталоге два или более уровня, добавьте '../..' примерно так

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...