2013-06-12 4 views
0

Я пытаюсь установить Zend Framework 2 + Doctrine из этого manual и иметь некоторые проблемы с драйвером PDO. Учение пытается подключиться к серверу MySQL, а затем пытается создать схему:PDOException не нашел драйвер на Zend Framework 2 + Doctrine

./vendor/bin/doctrine-module orm:schema-tool:create

У меня есть эта ошибка:

[PDOException] 
could not find driver 

Это мой конфиг/автозагрузка/doctrine.local.php:

return array( 'doctrine' => array(
    'connection' => array(
     'orm_default' => array(
     'driverClass' =>'Doctrine\DBAL\Driver\PDOMySql\Driver', 
     'params' => array(
      'driver' => 'pdo_mysql', 
      'host'  => 'localhost', 
      'port'  => '3306', 
      'user'  => 'root', 
      'password' => 'password', 
      'dbname' => 'blog', 
))))); 

У меня PHP 5.3.5, и у меня есть раскомментированный ;extension=php_pdo_mysql.dll в php.ini, также он не был прокомментирован. Но php -m | grep -i pdo дает мне:

PDO

только. Я знаю, что это тоже должно быть pdo_mysql, но я все стараюсь, и он не появляется.

В любом случае, драйвер PDO хорошо работает в моем другом проекте на этом сервере, где я не использую Zend и Doctrine.

+0

При выполнении 'php -m' вы должны видеть как' PDO', так и 'pdo_mysql'. Поскольку последний является адаптером. Если 'pdo_mysql' не указан, расширение не будет правильно активировано. Это так просто :) – netiul

+0

@netiul Как правильно активировать расширение? Для установки драйвера нет руководства, оно должно быть установлено по умолчанию на моем сервере, как я понимаю. – user2476482

ответ

1

О, да. Я просто решил проблему. Я собираюсь к этому page и думал найти мои файлы php.ini в другом месте, возможно, папка PHP - это был еще один в "C:\Users\%username%\AppData\Local\VirtualStore\Program Files (x86)\wamp\bin\php\php5.3.5" и там грести

;extension=php_pdo_mysql.dll 

не раскомментировать. Я раскоментировал это, и это работает!

+0

Рад, что вы это решили. – netiul

+0

ну, у меня тоже была такая же проблема, но так как я использую sqlite i uncommented; extension = php_pdo_sqlite.dll, и я узнал об этой ошибке, когда я добавил попытку catch при подключении sqlite DB в ZF2 http://stackoverflow.com/ Вопросы/13108482/how-to-catch-exceptions-in-your-zf2-контроллеры (я знаю, что это не связано с вопросом, который задан, но я уверен, что это поможет кому-то быстро найти проблему) – rohu2187

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