※ ChatGPTを利用し、要約された質問です(原文:PHP5でpostgresqlのデータベースに接続する簡単なPHPプロ)
PHP5でpostgresqlのデータベースに接続する方法
このQ&Aのポイント
PHP5でpostgresqlのデータベースに接続する方法をご紹介します。
PHP5でpostgresqlのデータベースに接続する簡単なPHPプログラムを書きましたが、コマンドラインで実行するとエラーが発生します。
ブラウザで実行すると正常に動作することが確認でき、phpinfo()の情報にはpostgresqlのDBドライバがあります。
PHP5でpostgresqlのデータベースに接続する簡単なPHPプロ
PHP5でpostgresqlのデータベースに接続する簡単なPHPプログラムを書きました。
ローカルホストにブラウザでアクセスすると正常に動作し、
コマンドラインで実行すると、次のエラーが発生します。
PHP Fatal error: Call to undefined function pg_connect()
コマンドラインでphpのバージョンを見ると以下のとおりです。
C:\>php -v
PHP 5.3.0 (cli) (built: Jun 29 2009 21:25:23)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies
ブラウザで、phpinfo();を実行した際の情報には postgresqlのDBドライバがあります。
pdo_pgsql
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 8.3.3
Module version 1.0.2
Revision $Id: pdo_pgsql.c,v 1.7.2.11.2.1.2.4 2009/03/28 01:58:49 mbeccati Exp $
pgsql
PostgreSQL Support enabled
PostgreSQL(libpq) Version 8.3.3
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0
Directive Local Value Master Value
pgsql.allow_persistent On On
pgsql.auto_reset_persistent Off Off
pgsql.ignore_notice Off Off
pgsql.log_notice Off Off
pgsql.max_links Unlimited Unlimited
pgsql.max_persistent Unlimited Unlimited
テストソースです。パスワード・DB名は伏せています。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>PostgreSQLテスト</TITLE>
</HEAD>
<BODY>
<?php
$db_host = "localhost";
$db_port = 5432;
$db_user = "postgres";
$db_pass = "xxxx";
$db_name = "yyyy";
// PostgreSQL 接続
if (!($cn = pg_connect("host=$db_host port=$db_port dbname=$db_name user=$db_user password=$db_pass"))) {
die;
}
// PostgreSQL 切断
pg_close($cn);
// 正常終了
print "<P>正常終了</P>";
?>
</BODY>
</HTML>
よろしくお願いします。