Symfony 4-ClassNotFoundException内核

Sky*_*kyd 5 php symfony

我实际上是将我的symfony 3.4项目升级到symfony 4.0。使用composer更新从我的gitlab存储库中克隆克隆后,出现错误:

ClassNotFoundException

Attempted to load class "Kernel" from namespace "App".
Did you forget a "use" statement for "Symfony\Component\HttpKernel\Kernel"?


in index.php (line 32)
Run Code Online (Sandbox Code Playgroud)

好吧....容易...去index.php第32行...但是,内核已用App \ Kernel加载,所以知道为什么我有此错误或可以在哪里搜索吗?

谢谢您的帮助。

index.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'])) {
    (new Dotenv())->load(__DIR__.'/../.env');
}

if ($_SERVER['APP_DEBUG'] ?? ('prod' !== ($_SERVER['APP_ENV'] ?? 'dev'))) {
    umask(0000);

    Debug::enable();
}


    // Request::setTrustedProxies(['0.0.0.0/0'], Request::HEADER_FORWARDED);

$kernel = new Kernel($_SERVER['APP_ENV'] ?? 'dev', $_SERVER['APP_DEBUG'] ?? ('prod' !== ($_SERVER['APP_ENV'] ?? 'dev')));

$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request, $response);
Run Code Online (Sandbox Code Playgroud)

在“ src”目录中,我有Kernel.php文件

namespace App;

use Symfony\Bundle\FrameworkBundle\Kernel\MicroKernelTrait;
use Symfony\Component\Config\Loader\LoaderInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\HttpKernel\Kernel as BaseKernel;
use Symfony\Component\Routing\RouteCollectionBuilder;

class Kernel extends BaseKernel
{
    use MicroKernelTrait;

    const CONFIG_EXTS = '.{php,xml,yaml,yml}';
    .....
Run Code Online (Sandbox Code Playgroud)

小智 5

Symfony 4使用该文件夹App进行自动加载psr-4。我试图改变它,但没有成功。composer.json检查文件中的命名空间、属性中的名称空间autoload,然后检查psr-4. 也许您更改了默认值。