redhatLinux7.1にphp4.0.6を「--with-pgsql」はなしでconfigureしてインストールしました。プログラムから外部のpostgresデータベースを操作したいのですが、Undefined functionとなってpg_connectなどの関数が使えません。--with-pgsqlをつけてconfigureするとエラーが出たっぽいので外したんですが・・・。pgsql関数を使うにはpostgres本体もインストールしないとダメなんでしょうか??関数だけ使う方法はないでしょうか??教えてください。

A 回答 (1件)

そのとおり、mod_phpをコンパイルするにはpostgres本体が必要です。



ひょっとしたら、postgresのdevelも必要になるかもしれません(Headerファイルがこの中の可能性あり)。
    • good
    • 0
この回答へのお礼

ひぇ~!
つらいですねぇ・・・
いれます。どうもありがとうございました。

お礼日時:2001/11/28 17:53

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

このQ&Aと関連する良く見られている質問

QCall to undefined function mysql_connect() が出て、つながりません

お世話になります。

先日PHPをはじめたばかりの初心者です。

xamppを使用せず、個別にPHPとMySQLをインストールしたのですが、
表題のエラーが出て、つながりません。ネットで調べてみましたが、
php.iniというものもどこにもなく、それに似たphp.ini-distという
ファイルも、extension=php_mysql.dll、extension=php_mysqli.dllの
二行のコメントをはずすなどをやってみたのですが、いまだに
つながりません。
ユーザ名やパスワードも、何度も確認しました。

原因と対策をお教えください。

尚、PHPは5.2.12、MySQLは5.1.42です。

以上、宜しくお願いいたします。

Aベストアンサー

>php.iniというものもどこにもなく
php.ini に名称変更して保存するんですよ。
できれば、セキュリティ強化された設定になってる
php.ini-recommended
の方を編集して、php.ini のファイル名で保存
それから、php.ini をおいてあるディレクトリーをwindows の環境変数path に登録、windows を再起動。
これについては、phpマニュアルにもOSごとに記述があるので熟読して下さい。
http://jp.php.net/manual/ja/install.windows.manual.php
xamppに任せずにやろうという気概があるなら、セキュリティに気を遣った設定にも心がけてください。

Qpg_prepareが使用できない(Undefined function

お世話になります。
現在PHPとPostgreSQLでアプリケーションを作成しております。

データベースのセキュリティのために、pg_prepare関数を使い
たいのですが、以下のようなエラーが出てしまいます。

Fatal error: Call to undefined function pg_prepare() in ...

該当ソースコードとバージョンは以下のとおりです。

///ソース

$con = pg_connect("user = $DBUSER password = $DBPASSWORD dbname = $DBNAME");
$rst1 = pg_prepare($con, "query", 'SELECT * FROM test WHERE name = $1');
$con = pg_close($con);

///バージョン
Apache 2.0.59 PHP 5.1.6 PostgreSQL 8.1.4

何か原因で考えられることはあるでしょうか。
pg_escape_stringもまったく同じエラーが起きてしまい頭を抱えています。お手数かけますがよろしくお願いします。

お世話になります。
現在PHPとPostgreSQLでアプリケーションを作成しております。

データベースのセキュリティのために、pg_prepare関数を使い
たいのですが、以下のようなエラーが出てしまいます。

Fatal error: Call to undefined function pg_prepare() in ...

該当ソースコードとバージョンは以下のとおりです。

///ソース

$con = pg_connect("user = $DBUSER password = $DBPASSWORD dbname = $DBNAME");
$rst1 = pg_prepare($con, "query", 'SELECT * FROM test WHERE name = $1');
$con...続きを読む

Aベストアンサー

pg_…()関数すべての呼び出しでエラーが発生するわけではなく、
pg_prepare()、pg_escape_string()だけで、ということでしょうか。

組み込みの関数で「undefined」エラーということは、多くはコンパイルオプション(Linux)、
またはextension記述もれ(Windows)だと思いますが、一部の関数だけ
ということですと妙かなという気がします。

動かないという2つの関数と対応するPHPバージョンは、
pg_escape_string (PHP 4 >= 4.2.0, PHP 5)
pg_prepare (PHP 5 >= 5.1.0RC1)
ということになるようですが、いずれも動かないのはバージョン4.2以前
だということになりそうで、それはさすがにないですよね。

[その1]
まずはphpinfo()関数で、PHPバージョンを再度ご確認いただく必要が
あると思います。

2つ以上の異なるバージョンのPHPをインストールしているとき、
Apacheが思いもかけないバージョンのPHPを用いている場合があります。
この場合、シェル/コマンドラインで
$ php --version
とやっても、正確なPHPバージョンを知ることはできません。

例えばRPM系のLinux(FedoraCoreとか)では、OSインストール時点で
PHPがインストールされている場合があると思います。
この場合、インストール済みRPM版PHPを削除しておかないと、
ソースからインストールしたつもりでも、実際に動いているのは
RPM版だったり、ということがありえます。

[その2]
phpinfo()関数でPHPインストール情報を表示したとき、
「pgsql」項目の内容はどうなっているでしょうか。
(例)
http://allabout.co.jp/internet/database/closeup/CU20040928A/ok4.jpg

もしpgsql項目がない場合、お使いのPHPでPostgreSQLサポートが
有効になっていないので、pg_…()関数が使えません。

Windowsの場合は、php.iniのextension=php_pgsql.dllのコメントを
外したうえで、php_pgsql.dllをWindowsのシステムディレクトリにコピーします。
php.iniを変更したら、Apacheを再起動します。

WindowsPHP5のインストールについては、下記のページ(AllAbount)を
ご覧になってください。
http://allabout.co.jp/internet/database/closeup/CU20040928A/

Linux/UNIXの場合で、ソースからインストールしている場合は、
PHPのコンパイルオプションに「--with-pgsql」を付けて再度コンパイル
します。
RPM等パッケージからインストールしている場合は、PHPのpgsql関連
パッケージをインストールします。

[その3]
ほかのundefined function関連の質問も、参考なるかもしれません。
http://oshiete1.goo.ne.jp/qa2557443.html
http://oshiete1.goo.ne.jp/qa794504.html
http://oshiete1.goo.ne.jp/qa1669932.html
http://oshiete1.goo.ne.jp/qa2202770.html

pg_…()関数すべての呼び出しでエラーが発生するわけではなく、
pg_prepare()、pg_escape_string()だけで、ということでしょうか。

組み込みの関数で「undefined」エラーということは、多くはコンパイルオプション(Linux)、
またはextension記述もれ(Windows)だと思いますが、一部の関数だけ
ということですと妙かなという気がします。

動かないという2つの関数と対応するPHPバージョンは、
pg_escape_string (PHP 4 >= 4.2.0, PHP 5)
pg_prepare (PHP 5 >= 5.1.0RC1)
ということになるようですが、い...続きを読む

QImageCreate関数が undefined functionとなってしまう

php5のユーザです。

イメージ関連のサンプルアプリを実行しようとしたら
 $img=imagecreate($image_size,$image_size);
の行で、下記エラーとなってしまいます。
 Call to undefined function imagecreate() in
  C:\Program Files\Apache Group\Apache2\htdocs

phpの環境が悪いのでしょうか。
よろしくお願いします。

Aベストアンサー

GDライブラリーが有効になっていないのでは?
apache ディレクトリー記述からするとwindowsのようですので、
php.iniの
extension=php_gd2.dll
が有効になっているか確認して下さい。
有効になっていれば、gd_info() でサポートされている画像形式が解ります。

参考URL:http://php.benscom.com/manual/ja/ref.image.php

Qsqlite_openが「undefined function」エラー

市販本で、勉強中です。sqliteについて質問です。
以前、テキストとおりに、サンプルPGを作って、動作してました。
(PHP-5.0.4)
先日、PHPを5.2.4に上げた後で、上記PGを実行すると、
sqlite_openが「undefined function」エラー になってしまいました。
php.ini等、環境設定も以前と同じようにしたつもりです。
 例:extension_dir = "c:/php/ext"
なにか、環境設定が足りないのでしょうか。
よろしくお願いします。

Aベストアンサー

ご推察の通り設定が足りません。
5.0.4と5.2.4との間で以下のような変更がありました。

----ここから
PHP 5 では、SQLite 拡張モジュールとエンジンは PHP 自身にバンドルされ、
デフォルトでコンパイルされます。 しかし、PHP 5.1.0 以降では 手動で有効にする必要があります
(共有モジュールとしてバンドルされるからです)。
さらに、PHP 5.1.0 以降では SQLite は PDO に依存するようになりました。
そのため、 php.ini に以下の行を (この順に) 追加して PDO も 有効にしておく必要があります。

extension=php_pdo.dll
extension=php_sqlite.dll

PHP: SQLite 関数 - Manual
http://jp2.php.net/manual/ja/ref.sqlite.php
----ここまで

ということで必要ならdllを入手したうえで(入手方法は
上記のリンクを見ればわかります)、php.iniを書き換えてください。

ご推察の通り設定が足りません。
5.0.4と5.2.4との間で以下のような変更がありました。

----ここから
PHP 5 では、SQLite 拡張モジュールとエンジンは PHP 自身にバンドルされ、
デフォルトでコンパイルされます。 しかし、PHP 5.1.0 以降では 手動で有効にする必要があります
(共有モジュールとしてバンドルされるからです)。
さらに、PHP 5.1.0 以降では SQLite は PDO に依存するようになりました。
そのため、 php.ini に以下の行を (この順に) 追加して PDO も 有効にしておく必要がありま...続きを読む

QFatal error: Call to undefined function mb_internal_encoding()

CAPTCHAのサンプルプログラムを動かそうと思ったのですが
Fatal error: Call to undefined function mb_internal_encoding() in ”プログラムのパス”
のようなエラーがでて実行することができません。

そこで、このエラー文で検索したところphpの日本語利用の環境ができていないのでは?
との回答を見つけたので、参考ページを見て設定を行ったのですが、いまだにエラーが出て実行することができません。

ちなみにこのようなmb_internal_encodingのサンプルを動かすと
<?php
/* 内部文字エンコーディングをUTF-8に設定 */
mb_internal_encoding("UTF-8");
/* カレントの内部文字エンコーディングを表示 */
echo mb_internal_encoding();
?>

Fatal error: Call to undefined function mb_internal_encoding() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\mbtest.php on line 2

この様なエラーが出ます。

日本語利用の為の設定で参考にしたサイトは
http://www.phpbook.jp/install/phpini/index3.html
こちらです。

phpのバージョンは5.2.6でOSはXPSP2です

CAPTCHAのサンプルプログラムを動かそうと思ったのですが
Fatal error: Call to undefined function mb_internal_encoding() in ”プログラムのパス”
のようなエラーがでて実行することができません。

そこで、このエラー文で検索したところphpの日本語利用の環境ができていないのでは?
との回答を見つけたので、参考ページを見て設定を行ったのですが、いまだにエラーが出て実行することができません。

ちなみにこのようなmb_internal_encodingのサンプルを動かすと
<?php
/* 内部文字エンコーディン...続きを読む

Aベストアンサー

問題解決にはならないですが、とりあえず
phpinfo();
で"mbstring"の項目があるかチェックしてみましょう。

なければphp.iniの問題でしょう。
あれば表示内容を再確認です。


人気Q&Aランキング

おすすめ情報