2013-04-03 36 views
0

我正在使用symfony2。在我AppKernel的代碼看起來如下:symfony2致命錯誤AppKernel查找內核類

use Symfony\Component\HttpKernel\Kernel; 
use Symfony\Component\Config\Loader\LoaderInterface; 

class AppKernel extends Kernel 
{ 
    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 JMS\AopBundle\JMSAopBundle(), 
      new JMS\DiExtraBundle\JMSDiExtraBundle($this), 
      new JMS\SecurityExtraBundle\JMSSecurityExtraBundle() 
     ); 

     if (in_array($this->getEnvironment(), array('dev', 'test'))) { 
      $bundles[] = new My\BookBundle\MyBookBundle(); 
      $bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle(); 
      $bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle(); 
      $bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle(); 
     } 

     return $bundles; 
    } 

現在我對Bookbundle下的單元測試的一個代碼如下所示:

namespace My\BookBundle\Tests\Controller; 

use My\BookBundle\Services\TestHelper; 
use My\BookBundle\Tests\BaseTest; 

class WriterControllerTest extends BaseTest 
{ 
    /** 
    * @var TestHelper 
    */ 
    protected $testHelper; 

    public function __construct() 
    { 
     parent::__construct(); 
     $this->testHelper = $this->get('test_helper'); 
    } 

    public function setUp() 
    { 
     $this->testHelper->setupTestData(); 
    } 

以前它運行的應用程序和測試相當順利。然後我添加了很多功能代碼(例如控制器,存儲庫功能等)。現在,當我試圖備份代碼寫我不必在命令提示符下鍵入以下錯誤測試:

PHP Fatal error: Class 'Symfony\Component\HttpKernel\Kernel' not found in /var/www/Symfony/app/AppKernel.php on line 7 

凡7號線是指AppKernel類的聲明,你可以在上面所說的見碼。

我很困惑,我無法找到代碼中突然崩潰的原因。

你能幫忙嗎?

+2

你在哪裏定義了自動加載?你在哪裏加載它? – fiunchinho

+2

使用appkernel的單元測試...? –

+1

你有沒有忘記安裝供應商? –

回答

0

要@One:我已經在應用程序文件夾中定義我的自動加載

要@Wouter記者:單元測試沒有使用appkernel - 它僅僅是爲顯示

要@Ramon Kleiss的錯誤:我讓供應商安裝並卸載,然後重新安裝。沒有改變。

我無法弄清楚背後的原因是什麼,但我能解決問題。它與測試和供應商文件夾的權限更改有關。正如我剛纔提到的那樣,它是早期運行的 - 由於某些未知原因,我的捆綁包測試文件夾和供應商文件夾的權限被更改,因此無法訪問正確的文件。我刪除了我的安裝並從庫中取出了新的克隆,並按照規則安裝了該項目,一切都很順利。我想出了舊的和最新的項目文件系統的差異,發現只有權限纔是差異。

感謝您的回答。

相關問題