• 締切済み

PHPのpostgreSqlの関数???

Postgresqlへのパスは下記のとおり通っています。 fumi@tsl fumi]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/pgsql/bin:/home/fumi/bin PHPを起動したら下記のエラーが出るのは何故でしょうか?どうすれはpostgresqlの関数をPHPで使えるようになりますか? Fatal error: Call to undefined function: pg_connect() in /home/fumi/www/pgimage-1.2/init.inc on line 54 よきアドバイスお願いいたします。

  • PHP
  • 回答数2
  • ありがとう数3

みんなの回答

noname#9414
noname#9414
回答No.2

一応phpinfo()関数を使用してpostgreSQLをサポートしているか確認した方がいいでしょう。単純にphp.iniファイルで使用不可になっている可能性もありますので・・・ ただ、実際に./configureからサポートされていないと、コンパイルをし直さなければならないので、正直面倒だと思いますよ。RPMなどでインストールする場合、欲しい機能がなかったりするので、素直にソースからインストールの方が楽だと思います。一度おためしください。 ではでは☆

torikokko
質問者

お礼

もう一度やってみたいと思います。ありがとうございました。

noname#9414
noname#9414
回答No.1

コンパイル時にきちんとpostgreSQLを使うと./configureのオプションに含めたのでしょうか?これを含めないと関数がサポートされないので、そういったエラーが出るはずです。 ではでは☆

torikokko
質問者

補足

一度、インストール終了したあとconfigureで後からオプションを追加できないでしょうか?

関連するQ&A

  • PostgreSQLをCentOS5にインストールしました。

    閲覧有難うございます。 質問内容なのですが、Postgresqlをインストールしたのですがpostgresql.confとpg_hba.confが見つかりません。 OSはCentOS5です。 インストール方法は以下の手順で行いました。 # /usr/sbin/adduser postgres # chown postgres:postgres /usr/local/pgsql # mkdir /usr/local/src/postgres-8.2.6 # chown postgres:postgres /usr/local/src/postgresql-8.3.7 # su - postgres # cd /usr/local/src # tar xfz /usr/local/src/postgres-8.2.6.tar.gz # cd /usr/local/src/postgres-8.2.6 # ./configure # make # make install また、 [root@ ~]# su - postgres -bash:  LD_LIBRARY_PATH=/usr/local/pgsql/lib: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  PATH=/usr/local/pgsql/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  MANPATH=/usr/local/pgsql/man:: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  export: command not found -bash:  PATH=/usr/local/pgsql/bin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin: そのようなファイルやディレクトリはありません -bash:  export: command not found -bash:  MANPATH=/usr/local/pgsql/man:: そのようなファイルやディレクトリはありません -bash:  export: command not found [postgres@ ~]$ のようなエラーがはかれるようになりました。 どうか皆様のお力をお貸しください。

  • 続 PostgreSQLのインストール

    fedora core1です。 postgreSQLで 一般ユーザーでログイン後 vi .bashrcで エディターを起動し export PATH=$PATH;/usr/local/pgsql/bin export MANPATH=$MANPATH:/usr/local/pgsql/man export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib 追加編集後 :wqで終了すると E45: 'readonly' オプションが設定されています (! を追加で上書き) :wq!で ".bashrc" ".bashrc" E212: 書込み用にファイルを開けません というエラーがでました。 これはどう対処したらよいでしょうか?

  • PHPのpg_pconnect関数について

    WindowsにApache2・PHP5・Postgresqlをインストールしました。 PHPは動くのですが、pg_pconnectのようなpostgresql関係の関数が動きません。 具体的には Call to undefined function pg_pconnect() というエラーがでます。 php.iniのextension=php_pgsql.dllの箇所を有効にしたのですが、それでもエラーが出ます。

    • 締切済み
    • PHP
  • postgreSQLのinitdb

    postgreSQL7.2.3のインストールを行いました。 % tar vxfz postgresql-7.2.3.tar.gz % cd postgresql-7.2.3 % ./configure --enable-locale --enable-multibyte=EUC_JP |& tee Configure.out % make | & tee Make.out % su # tcsh % make install | &tee Make_install.out % chown -R postgres:postgres /usr/local/pgsql ここまでは何も問題なく終わったのですが、 次に initdb を実行したところ以下エラーが出ます。 % su postgres % /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data ld.so.1: /usr/local/pgsql/bin/pg_encoding: 重大なエラー: libgcc_s.so.1: open に 失敗しました: ファイルもディレクトリもありません。 initdb: pg_encoding failed Perhaps you did not configure PostgreSQL for multibyte support or the program was not successfully installed. ↑ここまで 「マルチバイトサポートしていません」 「インストールに失敗しています」というような内容なのですが、 何がダメだったのでしょうか? ちなみにOSは Solaris9/02です。

  • PostgreSqlインストールで

    Linux環境にPostgreSqlをインストールしたいのですが以下のエラーがでて困ってます; 手順としては 1, ./configure 2, gmake 3, su 4, gmake install 5, mkdir /usr/local/pgsql/data 6, chown postgres /usr/local/pgsql/data 7, su - postgres 8, /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data 9, /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & 10, /usr/local/pgsql/bin/createdb test 11, /usr/local/pgsql/bin/psql test まず手順8で以下のエラーが出ます database "postgres" does not exist その後、手順9を実行すると以下のエラーがでます createdb: could not connect to database template1: could not connect to server: そのようなファイルやディレクトリはありません Is the server runnning locally and accepting connections on Unix domain socket "/tmp/.s.PGSQL.5432"? 解決策等ご存知でしたら教えて頂けないでしょうか? よろしくお願い致します。

  • RedHat9にPostgreSQL構築できるが、再起動すると消滅

    WindowsXP内のVMWareに仮想マシンRedHat9を構築して便利に使っています。今回この中ににPostgreSQL構築しpostgresql-8.1.3.tar.gzを/usr/local/srcにダウンロード #useradd postgres #mkdir /usr/local/pgsql #mkdir /usr/local/pgsql/data #cd /usr/lcal/src #tar zxfv postgres-8.1.3.tar.gz #chown postgres.postgres /usr/locl/pgsql #chown -R postgres.postgres postgresql.1.3 #su - postgres $cd /usr/local/src/postgresql-8.1.3 $./configure $gmake $gmake install 以上で無事postgreSQLデータベースが完成 引き続きユーザpostgresで $/usr/local/pgsql/bin/initdb -D /usr/local/pogsql/data $/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data $/usr/local/pgsql/bin/createdb TestDB $/usr/local/pgsql/bin/psql TestDB で作成したTestDBに接続でき、テーブルも作りました。 ところがRedHat9をいったん再起動するとできている筈のTestDBに接続できなくなります。どこかにどこかに設定ミスがありますか。何かヒントをいただければうれしいです。 $/usr/local/

  • データベースに接続できない

    postgresql-7.2.3.tar.gzインストール時には、下記内容でデータベースに接続できていました。 <?php $con = pg_connect("dbname='database_6' user='postgres' password='xxx'") if(!$con){ print "DB connection failed!!\n"; }else{ print "DB connection successful!!\n"; } ?> ところが、postgresql-8.0.26.tar.gzをインストールしたら、上記内容でデータベースに接続できなくなり、 Fatal error: Call to undefined function: pg_connect() in /usr/local/apache/htdocs/sql.php on line 2 というエラーメッセージが表示されます。 phpinfo();で確認もしましたが、ない感じです。Additiional Modulesのどこかを見れば、いいのでしょうか? pgsql.soは/usr/local/lib/php/extentions/pgsql.soにあります。/usr/local/lib/php.iniのextention_dir = ./を以下のように修正し、 extention_dir = /usr/local/lib/php/extentions extention=pgsql.so /usr/local/apache/bin/apachectl restart も実行しています。

  • postgreSQLが初期化できないのです。

    初めまして。vine Linux にPostgreSQLをインストールしたのですが、 初期化の initdb が成功しません。 his user will own all the data files and must also own the server process. Creating database system directory /usr/local/pgsql/data Creating database system directory /usr/local/pgsql/data/base Creating database XLOG directory /usr/local/pgsql/data/pg_xlog Creating template database in /usr/local/pgsql/data/base/template1 021109.20:31:19.898 [14757] ERROR: Error: unknown type 'oid8'. 021109.20:31:19.898 [14757] ERROR: Error: unknown type 'oid8'. Creating global relations in /usr/local/pgsql/data/base Adding template1 database to pg_database initdb failed. Removing /usr/local/pgsql/data. Removing temp file /tmp/initdb.14730. のように、 unknown type 'oid8' と言われてしまいます。 この対処の方法をどなたか、教えてください。 お願いします。

  • PostgreSQLをサーバ起動時にstartさせたい

    PostgreSQLをサーバ起動時にstartさせたいと思っています。 /etc/rc.d/rc.localに下記を追記しましたが、起動してくれません。ログファイルも作成されていませんでした。 echo -n "Starting PostgreSQL: " su -l pgsql -s /bin/sh -c "/usr/local/pgsql/bin/pg_ctl -l /var/log/postgresql.log start > /dev/null 2>&1" < /dev/null echo "done." 何が悪いのでしょうか?PostgreSQLは手動でstartすることはできます。 また、PostgreSQLの起動スクリプトを作成し、webminで制御したいと思うのですが、PostgreSQLの起動スクリプトの書き方について参考になるHPがあれば紹介していただきたいと思っています。 よろしくお願いいたします。

  • 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> よろしくお願いします。

    • ベストアンサー
    • PHP