【问题标题】:Symony 4 - Migrating from 3.x to 4.x Error with server:runSymony 4 - 从 3.x 迁移到 4.x 服务器出错:运行
【发布时间】:2018-03-08 23:29:09
【问题描述】:

我一直致力于将我的 Symfony 3.x 项目迁移到最新的 Symfony 4.x 版本。我所做的是创建一个全新的 Symfony 4.x 安装,并将我的包移动到 Symfony 4 作为主要的应用程序命名空间(重命名我所有的命名空间并使用)。我在 Symfony 4 文档中遵循了正确的文件夹结构,但我显然遗漏了一些东西。

当我尝试执行“bin/console server:run”时,出现以下错误:

    php bin/console server:run

    Fatal error: Uncaught 
    Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load 
    class "Kernel" from namespace "App".
    Did you forget a "use" statement for "Symfony\Component\HttpKernel\Kernel"? 
    in C:\wamp\www\DBViewer\bin\console:37
    Stack trace:
#0 {main}
  thrown in C:\wamp\www\DBViewer\bin\console on line 37

我在控制台中检查了第 37 行,结果都是:

$kernel = new Kernel($env, $debug);

我已经比较了我工作的 Symfony 4 应用程序中的 bin/console 和这个 Symfony 4 应用程序,结果是一样的。有什么想法可能导致这种情况吗?

【问题讨论】:

  • 您是否也调整了您的 app/AppKernel.php 以及 bin/console?

标签: php symfony symfony4


【解决方案1】:

验证您的 composer.json 文件。在 Symfony 3.4 中它曾经是:

"autoload": {
    "psr-4": {
        "AppBundle\\": "src/AppBundle"
    },
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},

在 Symfony 4 中它只是:

"autoload": {
    "psr-4": {
        "App\\": "src/"
    }
},

在 Symfony 4 中,您的 AppKernel.php 必须直接在“src/”文件夹中,而不是在“app/”中。

希望这会有所帮助。

【讨论】:

  • 这个 ^ 虽然全新安装的 Symfony 3.4 也是无捆绑的。 (3.4 和 4.0 几乎相同,4.0 只是删除了 3.x 弃用。) Symfony 3.3 是使用 app bundle 作为标准的最新版本。
猜你喜欢
  • 1970-01-01
  • 2023-03-29
  • 1970-01-01
  • 2021-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多