,php,symfony,web-deployment"/>

首页 > 解决方案 > Symfony 5:错误 - 找不到“GET /"

问题描述

我用 sympfony/phpp 开发了一个站点,我想在本地服务器上部署。

在我自己的计算机上开发之后(它运行良好),我将项目放在本地服务器上,在 debian 10 操作系统下使用 apache、php 7.3.x、composer 2.0.0

项目从我的计算机到服务器的所有传输和设置都已完成。项目文件夹名称为si2a它位于目录 /var/www 中,我按照symfony 文档指南使用 ACL 设置了对该目录的访问权限。

我将站点配置文件设置为名称为si2afama.conf。最后一个位于 /etc/apache2/sites-available 目录中。设置后,我激活站点,重新加载 apache 并清除缓存。这是 si2afama.conf 的包含:

<VirtualHost *:80> 
    ServerName si2afama 
    # ServerAlias www.si2afama.com 
 
    DocumentRoot /var/www/si2a/public
    DirectoryIndex /index.php
 
    <Directory /var/www/si2a/public> 
        AllowOverride All 
        Require all granted
        Allow from All 
 
    FallbackResource /index.php
 
    </Directory>
 
    <Directory /var/www/si2a/public/bundles>
        FallbackResource disabled
    </Directory>
 
    ErrorLog /var/log/apache2/si2a_error.log
    CustomLog /var/log/apache2/si2a_access.log combined 
</VirtualHost>

当我尝试访问该站点时,我发现了这个错误: 没有为“GET /si2afama”找到路由

因为,它是一个路由问题,所以这里有一些文件包含:

si2a/config/packages/routing.yaml

framework:
    router:
        utf8: true

si2a/config.routes.yaml

index:
    path: /
    controller: App\Controller\DefaultController::index

si2a/public/index.php。

<?php
use App\Kernel;
use Symfony\Component\ErrorHandler\Debug;
use Symfony\Component\HttpFoundation\Request;
require dirname(__DIR__).'/config/bootstrap.php';
if ($_SERVER['APP_DEBUG']) {
    umask(0000);
    Debug::enable();
}
if ($trustedProxies = $_SERVER['TRUSTED_PROXIES'] ?? $_ENV['TRUSTED_PROXIES'] ?? false) {
    Request::setTrustedProxies(explode(',', $trustedProxies), Request::HEADER_X_FORWARDED_ALL ^ Request::HEADER_X_FORWARDED_HOST);
}
if ($trustedHosts = $_SERVER['TRUSTED_HOSTS'] ?? $_ENV['TRUSTED_HOSTS'] ?? false) {
    Request::setTrustedHosts([$trustedHosts]);
}
$kernel = new Kernel($_SERVER['APP_ENV'], (bool) $_SERVER['APP_DEBUG']);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);

我真的不知道该怎么做才能解决问题。

请有人帮助我。谢谢你。

标签: phpsymfonyweb-deployment

解决方案


尝试安装这个包composer require symfony/apache-pack它会创建一个 .htaccess 文件来解决你的问题


推荐阅读