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

Symfony 2.7 以降では、app/config/config.ymlファイルを編集してドライバーを示すデータベースに残すことで問題が解決されます。

doctrine:
    dbal:
        driver: "%database_driver%"

このソリューションは、MySQL データベース、別の PostgreSQL データベースなど、異なるドライバーの複数のデータベースが使用されている場合にも役立ちます。

于 2015-08-06T14:42:12.483 に答える
2

うーん..

parameters.yml ファイルで最初にデフォルトのデータベースをセットアップする必要があります

まあ、それは私のために働いたものです

于 2012-11-29T16:19:21.423 に答える
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 に答える