<?php
try {
$dbh = new PDO('pgsql:Host=localhost;port=5432;dbname=###;user=###;password=##');
echo "PDO connection object created";
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
「ドライバーをロードできませんでした」というエラーメッセージが表示されます
これを試して:
「;」を削除して、php.iniの次のコメントを解除します。
;extension=php_pgsql.dll
次のコードを使用して、postgresqlデータベースサーバーに接続します。
pg_connect("Host=localhost dbname=dbname user=username password=password")
or die("Can't connect to database".pg_last_error());
Php用のpgsqlモジュールをインストールする必要があります。 debian/ubuntuには次のようなものがあります。
Sudo apt-get install php5-pgsql
または、パッケージがインストールされている場合、php.iniでde moduleを有効にする必要があります
extension=php_pgsql.dll (windows)
extension=php_pgsql.so (linux)
Greatings。
WindowsにPHPをインストールしましたIIS Windows Platform Installer(WPΙ)を使用します。WPΙは「インターネットインフォメーションサービス(IIS)マネージャー」に「PHPマネージャー」ツールを作成しますコンソール。このツールを使用してPHPを設定しています。
in http://php.net/manual/en/pdo.installation.php 言います:
PDOおよびすべての主要なドライバーはPHPを共有拡張機能として出荷し、php.iniファイルを編集して有効化する必要があります:extension = php_pdo.dll
だから私はPHP Managerを使用して拡張機能を有効にし、PDOは正常に動作します
PHPマネージャーは、私のphp.iniに以下の2行を追加しました。手動で行を追加できます。もちろん、Webサーバーを再起動する必要があります。
[PHP_PDO_PGSQL]
extension = php_pdo_pgsql.dll
Debian/ubuntuインストールの場合
Sudo apt-get install php-pgsql
Apacheでは、次の構成ファイルを編集します:C:\xampp\php.ini
次の行のコメントを外してください。
extension=php_pgsql.dll
extension=php_pdo_pgsql.dll
データベースエンジンへの新しい接続を試みる前に、最後にApacheを再起動します。
また、接続が一意であることを保証するコードを残します。
private static $pdo = null;
public static function provideDataBaseInstance() {
if (self::$pdo == null) {
$dsn = "pgsql:Host=" . Host .
";port=5432;dbname=" . DATABASE .
";user=" . POSTGRESQL_USER .
";password=" . POSTGRESQL_PASSWORD;
try {
self::$pdo = new PDO($dsn);
} catch (PDOException $exception) {
$msg = $exception->getMessage();
echo $msg .
". Do not forget to enable in the web server the database
manager for php and in the database instance authorize the
ip of the server instance if they not in the same
instance.";
}
}
return self::$pdo;
}
GL
データベースドライバーをインストールするだけです。
apt-get install php5-pgsql php5-mysql php5-sqlite ...など...
そして、幸せになります!
Httpd.confに次の行を追加する必要があります(Windows):
LoadFile "C:/Program Files (x86)/PostgreSQL/8.3/bin/libpq.dll"
私と他の多くのひげそりはこれにあまりにも長い時間を費やしました-これには大きな改善が必要です。数時間を費やした後、php_pgsql.dllをphpのextディレクトリからApache24のルートディレクトリ(インストールした場所)にコピーし、最終的にApacheはphp/pgモジュールとdllをロードできました。
Pdo_pgsqlパッケージをインストールする必要があります