Symony 4 - 使用server:run从3.x迁移到4.x错误

时间:2018-03-08 23:29:09

标签: php symfony symfony4

我一直在努力将我的Symfony 3.x项目迁移到最新的Symfony 4.x版本。我所做的是创建Symfony 4.x的全新安装,并将我的捆绑包移动到Symfony 4作为主要的App命名空间(重命名我的所有命名空间并使用)。我在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应用程序进行了比较,它是相同的。可能导致这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

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

Item item = Item.Bind(exchangeService, new ItemId(<mail id comes from Outlook JavaScript API>), new PropertySet(ItemSchema.Flag));
item.Load();
item.Flag = new Flag() { FlagStatus = ItemFlagStatus.Flagged }; 
item.Update(ConflictResolutionMode.AutoResolve);

而在Symfony 4中它只是:

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

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

希望这有帮助。