1

PostgreSQL を Yii に接続しようとしましたが、表示されています

CDbConnection は DB 接続を開くことができませんでした。

ログに表示されています

error   exception.CDbException  

ドライバーが見つかりませんでした

私のコード

'db'=>array(
    'tablePrefix'=>'',
    'connectionString' => 'pgsql:host=localhost;port=5432;dbname=postgres',
    'username'=>'postgres',
    'password'=>'postgres',
    'charset'=>'UTF8',
),
4

5 に答える 5

2

Yii データベース コンポーネントは、PHP PDO の上に構築されています。だからここにチェックする可能性のリストがあります

PostgreSQL と PostgreSQL の PDO 拡張機能がインストールされ、機能していることを確認します。また、そのポートは正しいものです。簡単なPHP スクリプトをテストしてテストできます。

以下は似ているかもしれないものへのリンクです

PostgreSql 'PDOException' とメッセージ 'could not find driver' が表示される

PDOException「ドライバーが見つかりませんでした」</a>

Linux (Ubuntu/Debian) に PDO をインストールする

postgres Ubuntu の pdo をインストールする

https://serverfault.com/questions/89970/how-to-install-postgresql-extension-for-pdo-in-linux

ウィンドウズ

http://blog.lysender.com/2010/08/php-and-postgresql-on-windows/

Apache php 5.3 postgreSQL ドライバーをロードできませんでした

問題に関する公式 PHP 情報

http://php.net/manual/en/pdo.installation.php

http://www.php.net/manual/en/ref.pdo-pgsql.php

于 2012-10-30T11:10:47.913 に答える
1

解決された問題...追加することにより

LoadFile "C:/wamp/bin/php/php5.3.5/libpq.dll"

httpd.conf ファイルに。現在、phpinfo() は pgsql PDO を示しています。

ありがとう...

于 2012-10-30T14:45:43.340 に答える
1

ubuntuで作業している場合は、pgsqlライブラリがインストールされていることを確認してください

sudo apt-get install php-pgsql
sudo service apache2 restart

コンソールとメインローカルにこの配列があることを確認した後

'components' => [
    'log' => [
        'targets' => [
            [
                'class' => 'yii\log\FileTarget',
                'levels' => ['error', 'warning'],
            ],
        ],
    ],
    'db' => [
        'class' => 'yii\db\Connection',
        'dsn' => 'pgsql:host=localhost;port=5432;dbname=yourdb',
        'username' => 'user',
        'password' => 'pw',
        'charset' => 'utf8',
    ],],
于 2016-11-22T08:07:38.663 に答える
0

私の場合、php_pdo_pgsqlWAMPで拡張機能を有効にするケースでした

于 2015-03-11T15:56:05.037 に答える