找不到驱动程序会在命令提示符下看到

时间:2014-01-29 11:14:41

标签: php windows doctrine

我正在使用zend framework2实现doctrin2。当我执行命令时

./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'
                    )
                )
            )
        )

2 个答案:

答案 0 :(得分:0)

  • driver数组中缺少params个密钥。
  • 您是否在PHP配置中启用了php_pdo_mysqlphp_pdo_pgsql等特定的驱动程序扩展?

答案 1 :(得分:0)

打开./vendor/doctrine/doctrine-module/bin/doctrine-module

并更改

#!/usr/bin/env php

#!/usr/bin/env php5