2014-10-15 2 views
0

У меня была настоящая проблема в течение последних нескольких дней ... Подобный вопрос задавался много раз, но ни одно из их решений не работало для меня.Doctrine-module не нашел драйвер PDO

В основном доктрина-модуль не может найти свой драйвер PDO:

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 

У меня есть PDO установлен и работает в других моих проектах ... PHP CLI оказались проблемой для других пользователей, но это, кажется, быть доступны для меня:

$ php -m | grep -G PDO -i 
PDO 
pdo_mysql 
pdo_sqlite 

Я даже могу это сделать:

$ php -r "die(new PDO("localhost"));" 

Fatal error: Uncaught exception 'PDOException' with message 'invalid data source name' in Command line code:1 
Stack trace: 
#0 Command line code(1): PDO->__construct('localhost') 
#1 {main} 

Какой SuG мне кажется, что PHP-CLI действительно поддерживает PDO (и, конечно, поддержку mysql) ...

Может ли кто-нибудь мне помочь?

Отредактировано: Вот моя конфигурация: Очевидно замаскирован пароль :)

'doctrine' => array(
    'connection' => array(
     'orm_default' => array(
      'driverClass' => 'Doctrine\DBAL\Driver\PDOPgSql\Driver', 
      'params' => array(
       'user' => 'zend_tutorial', 
       'password' => '**********', 
       'host' => '127.0.0.1', 
       'dbname' => 'zend_tutorial', 
      ), 
     ), 
    ), 
), 
+8

Я бы предположил, что это, вероятно, вещь конфигурации доктрины. Можете ли вы вставить свою конфигурацию доктрины здесь? – Jenko

+0

Привет! Я просто обновил вопрос, включив в него мою конфигурацию ... Все это в моей автозагруженной конфигурации local.php ... – Richard87

ответ

2

Проблема была конфигурация DrvierClass в Jenko сказал,

Это:

'Doctrine\DBAL\Driver\PDOPgSql\Driver' 

Должно быть это:

'Doctrine\DBAL\Driver\PDOMySql\Driver' 

Обратите внимание на MySQL!

Thanks Jenko :)

Смежные вопросы