2014-01-29 39 views
0

我實現doctrin2與Zend framework2。當我正在執行一個命令找不到驅動程序將看到命令提示符

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\\Entity\\" --force --from-database annotation ./module/Album/src/ 

然後我看到一個錯誤[PDOException] could not find driver。 我的代碼下面給出

我doctrine.local.php

<?php 
    return array(
     'doctrine' => array(
      'connection' => array(
       'orm_default' => array(
       'driverClass' => 'Doctrine\DBAL\Driver\PDOPgSql\Driver', 
        'params' => array(
          'user' => 'root', 
          'password' => '', 
       ), 
      ), 
     ) 
)); 

?> 
my doctrine.global.php 
    <?php 

    return array(
     'doctrine' => array(
      'connection' => array(
       'orm_default' => array(
        'driverClass' => 'Doctrine\DBAL\Driver\PDOMySql\Driver', 
         'params' => array(
          'driver' => 'pdo_mysql', 
          'host' => 'localhost', 
          'dbname' => 'test', 
        ), 
       ), 
      ) 
    )); 

    ?> 

my application.module.config.php 

    'modules' => array(
      'Application', 
      'DoctrineModule', 
      'DoctrineORMModule', 
      'Album', 
     ), 
In my album/module.config.php i have also add this code 

    namespace Album; 

    'doctrine' => array(
      'driver' => array(
       __NAMESPACE__ . '_driver' => array(
        'class' => 'Doctrine\ORM\Mapping\Driver\AnnotationDriver', 
        'cache' => 'array', 
        'paths' => array(__DIR__ . '/../src/' . __NAMESPACE__ . '/Entity') 
       ), 
       'orm_default' => array(
        'drivers' => array(
         __NAMESPACE__ . '\Entity' => __NAMESPACE__ . '_driver' 
        ) 
       ) 
      ) 
     ) 

回答

0
  • 。在你的params陣列缺少driver關鍵。
  • 您是否在PHP配置中啓用了諸如php_pdo_mysqlphp_pdo_pgsql的特定驅動程序擴展?
+0

我已經使用像 '駕駛'=> 'PDO_MYSQL' 驅動程序項,在doctrine.global.php 。和兩個擴展(php_pdo_mysql,php_pdo_pgsql)在我的PHP配置中激活。我使用的是MySQL,所以我認爲我應該只激活一個「php_pdo_mysql」。感謝您的建議。 – yatendra

0

開放./vendor/doctrine/doctrine-module/bin/doctrine-module

,改變

 
#!/usr/bin/env php 

 
#!/usr/bin/env php5 
+1

你能詳細說明爲什麼這可能是必要的嗎?請[編輯]您的答案以包含說明。 –