解決済みの質問
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 PostgreSQLenabled
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 Supportenabled
PostgreSQL(libpq) Version 8.3.3
Multibyte character support enabled
SSL support enabled
Active Persistent Links 0
Active Links 0
DirectiveLocal ValueMaster Value
pgsql.allow_persistentOnOn
pgsql.auto_reset_persistentOffOff
pgsql.ignore_noticeOffOff
pgsql.log_noticeOffOff
pgsql.max_linksUnlimitedUnlimited
pgsql.max_persistentUnlimitedUnlimited
テストソースです。パスワード・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>
よろしくお願いします。
投稿日時 - 2010-07-30 02:12:04
CLIでPHPを動かすと、見に行くphp.iniが違ったりします。
直接使用するphp.iniを設定するには、phpコマンドに「-c full_path」を指定する必要があります。
http://search.net-newbie.com/php/features.commandline.html
投稿日時 - 2010-07-31 00:49:06
9人が「このQ&Aが役に立った」と投票しています
ベストアンサー以外の回答(1件中 1~1件目)
-i スイッチを指定して PHP を実行すると、コマンドラインでの設定を確認することが出来ます。
参考URL:http://www.php.net/manual/ja/features.commandline.options.php
投稿日時 - 2010-07-30 09:20:50