在过去的几天里我遇到了一个非常烦人的问题......有很多次问过类似的问题,但他们的解决方案都没有对我有用。
主要是doctrine-module无法找到我的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}
对我来说,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',
),
),
),
),
答案 0 :(得分:2)
问题是DrvierClass配置为 Jenko 说,
这:
'Doctrine\DBAL\Driver\PDOPgSql\Driver'
应改为:
'Doctrine\DBAL\Driver\PDOMySql\Driver'
注意MySQL!
感谢Jenko:)