1

我看到这个问题非常相似,但我安装了 PDO 和 pdo_pgsql

这是我的错误信息:

 php app/console doctrine:mapping:convert yml ./src/Vendor/Bundle/MyBundle/Resources/config/doctrine/metadata/orm --from-database --force



  [PDOException]         
  could not find driver  



doctrine:mapping:convert [--filter="..."] [--force] [--from-database] [--extend[="..."]] [--num-spaces[="..."]] [--namespace[="..."]] [--em[="..."]] to-type dest-path 

这是我的 config.yml 设置

doctrine:
    dbal:
      connections:
        my_database:
          driver:   pdo_pgsql
          port:     5432
          dbname:   blah
          user:     foo
          password: bar
          charset:  UTF8

主机在 prod 和 dev yaml 文件中配置如下

doctrine:
    dbal:
      connections:
        my_database:
          host: localhost

在命令行上运行php -m我看到 PDO、pdo_pgsql 和 pgsql 都已安装

PDO
pdo_pgsql
pgsql

我错过了什么?

4

3 回答 3

2

啊..

您必须首先在 parameters.yml 文件中设置默认数据库

好吧,这对我有用

于 2012-11-29T16:19:21.423 回答
2

在 Symfony 2.7 或更高版本中,通过编辑app/config/config.yml文件将其留给指示驱动程序的数据库来解决问题:

doctrine:
    dbal:
        driver: "%database_driver%"

当使用不同驱动程序的多个数据库时,此解决方案也很有用,例如,一个 MySQL 数据库,另一个 PostgreSQL 数据库,...

于 2015-08-06T14:42:12.483 回答
0

首先,验证您的php.ini文件:必须启用扩展php_pdo_pgsqlphp_pdo 。确保你在你的symfony 项目正在使用的 php.ini 文件上应用这些更改(我想你正在使用 symfony 的 app/console 工具),在localhost/path_to_your_project/web/config.php上检查这个。您知道是否启用了此扩展执行函数 phpinfo()。

这个命令也很有帮助:php -m。它在控制台上列出了所有加载的 php 模块。

提示:查看您的Apache 错误日志,您的扩展加载可能有问题。该文件根据您的服务器配置定位。

于 2014-11-18T15:42:07.987 回答