アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>



よろしくお願いします。

A 回答 (2件)

CLIでPHPを動かすと、見に行くphp.iniが違ったりします。



直接使用するphp.iniを設定するには、phpコマンドに「-c full_path」を指定する必要があります。
http://search.net-newbie.com/php/features.comman …
    • good
    • 0

-i スイッチを指定して PHP を実行すると、コマンドラインでの設定を確認することが出来ます。



参考URL:http://www.php.net/manual/ja/features.commandlin …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!