2014-03-13 24 views
5

我试图让我的网站生活,但不断得到相同的错误...我试过寻找无处不在,使用每个人的解决方案,没有运气。ClassNotFoundException Symfony

错误

ClassNotFoundException的:试图在/home/dcms/public/html/dcms/apha/app/AppKernel.php线19来装载类 “DestinationAppBundle” 从命名空间 “目的地\的appbundle”你需要从另一个命名空间“使用”它吗?

AppKernel.php

public function registerBundles() 
{ 
    $bundles = array(
     new Symfony\Bundle\FrameworkBundle\FrameworkBundle(), 
     new Symfony\Bundle\SecurityBundle\SecurityBundle(), 
     new Symfony\Bundle\TwigBundle\TwigBundle(), 
     new Symfony\Bundle\MonologBundle\MonologBundle(), 
     new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(), 
     new Symfony\Bundle\AsseticBundle\AsseticBundle(), 
     new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(), 
     new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(), 
     new Destination\AppBundle\DestinationAppBundle(), 
     new Destination\Auth\HashInterfaceBundle\DestinationHashInterfaceBundle(), 
    ); 

文件结构

src 
    Destination 
     AppBundle 

任何想法?

+0

您使用APC吗?尝试冲洗它。 –

+0

你会如何做到这一点在PHP? – Brent

+0

确保你在实时主机中有'DestinationAppBundle.php'。如果locale工作意味着您的项目没有正确上传,请使用rsync确保所有内容都是同步的(如果您可以使用rsync)。 –

回答

4

第一:检查文件src\Destination\AppBundle\DestinationAppBundle.php确实存在

第二:开放DestinationAppBundle.php和赤如果命名空间Destination\AppBundle

第三:检查类名声明是否与t相同他文件名(在你的情况:DestinationAppBundle

0

验证在AppKernel.php使用这个类DestinationAppBundle

而且在类DestinationAppBundle

+0

我有,它的工作localy,但不住..如此奇怪 – Brent

0

什么是你的DestinationAppBundle.php命名空间的命名空间?

它应该是:

<?php 
namespace Destination\AppBundle; 
+1

是的,这已经完成,仍然错误。 – Brent

0

如果您确定的命名空间和服务定义是正确的,你可以尝试:

  • 升级Symfony的版本。 Symfony 2.8.11有一个奇怪的问题,添加的新服务给了我一个ClassNotFoundException。升级到2.8.17解决了它。

  • 尝试删除应用程序/缓存/ *内容

  • 检查,如果你使用的是预生成的自举缓存的文件没有“--no-dev的”选项(作曲转储自动加载--optimize - no-dev --classmap-authoritative)并再次启动命令。

0

Symfony使用PSR自动加载。

您需要在作曲家中配置自动加载。JSON文件:

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

这将包括\ src文件夹下的所有文件和文件夹

0

更新composer.json这样的:

"psr-4": { 
    "AppBundle\\": "src/AppBundle", 
    "UserBundle\\": "src/UserBundle" 
}, 

编辑composer.json后必须运行composer dump-autoload