• ベストアンサー
  • すぐに回答を!

FreeBSDで、PHPとpostgreSQLを連携させたい

かなり初心者です。 FreeBSDで、FTPのPackageからPHPとpostgreSQLをインストールしました。 Packageからの自動的なインストールだったので、 面倒な設定なく簡単にインストールが出来たのですが、 PHPのConfigure Commandには、--with-pgsql の設定がありませんでした。 この場合、PHPでpostgreSQLを操作できるようにするには、 どうしたらいいのでしょうか? PHP関連の書籍をみると、 拡張モジュールで組み込めるような事が書いてありますが、 状況が少し違っているようで、うまくいきません。 FreeBSD4.7R Apache1.3.27 PHP4.2.3 postgreSQL7-2-2 です。 よろしくお願い致します。

共感・応援の気持ちを伝えよう!

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • xjd
  • ベストアンサー率63% (1021/1612)

PHPのパッケージがPostgreSQLサポートを有効にして作られているか確認してください。 有効になっていれば、PostgreSQL関数をコールして、DBと連携できます。 でも、どこかの他人が作ったパッケージに頼っていては技術が身につかないので、PHPのソースからコンパイルして入れる事をおすすめします。 PHP.tar.gzを解凍して、 # .configure --with-pgsql --with-apache # make # make install こんな感じで簡単にコンパイル・インストールできます。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございます。 ソースからインストールできました。 PostgreSQLとの連携もうまくいきました。

関連するQ&A

  • PostgreSQL8.1とPHP5でwebアプリをつくりたいのに環境設定がわかりません…

     Linuxの初心者です。PostgreSQLとPHP5でwebアプリをつくりたいのですが、環境が構築できずに困っています。現時点での環境を以下に記します。 OS ; Fedora Core 6 server ; apache 2.2.3 DB ; PostgreSQL 8.1.4 言語 ; PHP 5.1.6 Fedora Core 6 をインストールする時に apache と PostgreSQL と PHP はインストールされていました。そして以下の様に設定ファイルを書き直しました(今回の質問に関わりのなさそうなものは省いていますが、なにぶん初心者のため、なにか足りないものがありましたら教えていただきたいと思います)。 ・apache /etc/httpd/conf/httpd.conf    265 ServerName localhost:80 748 AddDefaultCharset EUC-JP ・PHP /etc/php.ini 777 pgsql.allow_persistent = On 781 pgsql.auto_reset_persistent = 0 784 pgsql.max_persistent = -1 787 pgsql.max_links = -1 791 pgsql.ignore_notice = 0 795 pgsql.log_notice = 0 ・PostgreSQL /var/lib/pgsql/data/postgresql.conf       49 listen_addresses = '*' 52 port = 5432 ・PostgreSQL /var/lib/pgsql/data/pg_hba.conf local all all ident sameuser host all all 127.0.0.1/32 ident sameuser host all all ::1/128 ident sameuser host all 0.0.0.0 0.0.0.0 trust  スクリプト内で pg_connect() 関数を使って PostgreSQL に接続しようとすると、  Warning: pg_connect() [function.pg-connect]: Unable to connect to PostgreSQL server: could not connect to server: Permission denied Is the server running on host "localhost" and accepting TCP/IP connections on port 5432?  Warning: pg_last_error() [function.pg-last-error]: No PostgreSQL link opened yet  というエラーが出てしまうのです。  調べてみたら php-pgsql という拡張モジュールがインストールされていたにも関わらずに、phpinfo() の configure に --with-pgsql が見当たらないのです。パッケージでインストールしたためにオプションが付いていなかったのでしょうか。 こちらのサイトで似たような質問があって読んだのですが、どこのディレクトリで configure をやり直したらいいのか、make clean コマンドで一回オプションを全て消さないとだめなのかがわからなくて困っています。  どなたか詳しい方がいらしたら、教えてください。  よろしくお願いいたします。

  • WinowsXPでPHPからPostgreSQLにアクセスできません。

    Windows上でPHPを利用してPostgreSQLにアクセスを試みているのですが Fatal error: Call to undefined function pg_connect() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\dbtest.php on line 13 というエラーが出てアクセスできません。 調べていくうちにnfo.phpのConfigure Commandに"--with-pgsq"がないのが原因とはわかったのですが、下記開発環境での[php.ini],[httpd.conf]の設定をいろいろ試しましたが(勿論再起動も)info.phpのConfigure Commandに"--with-pgsq"が表示されないのです。 どなたか、アドバイスしていただけることがありましたらよろしくお願いします。 開発環境 OS:WindowsXP SP2 PHP:5.26 Apache:2.2 PostgreSQL:8.2

    • 締切済み
    • PHP
  • Postgresの拡張モジュール導入について

    PHPでpgsql拡張モジュールを導入したいのですがうまくいきません。アドバイスをお願いいたします。 環境:Apache2 / PHP5.0.2 / Postgresql8.0 今までのしたこと: (1)使えないモジュールの把握  Fatal error: Call to undefined function pg_query_params() in /hoge/fuga.php (2)ソースファイル配下(php-5.2.10/ext/pgsql)にてpgsql拡張モジュールをインストール  phpize  ./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/local/pgsql  make  make install (3)pnp.iniにextension_dirの設定変更と、extension=pgsql.soを追記 (4)Apacheの再起動 (3)のphp.iniが動作するPHPから呼び出されていること、extension_dirの設定内容が間違っていないことは確認済みですが、モジュールは使えないままです。 追加でできる確認方法か、とばしている手順があれば教えてください。よろしくお願いします。

    • 締切済み
    • PHP
  • phpのインストールについて

    phpで別サーバ(DBのみ)のpostgresqlに接続しようとした場合、接続できませんでした。 php-pgsql?かpgsql.soが無いのが原因ぽいのですが、検索してもyumでインストールとかばかりでソースからインストールした際の記述がみつけられませんでした… phpインストール時にpostgres(php-pgsql?)を有効するにはどうしたらいいのでしょうか? ちなみにpostgresqlとphpが同一サーバ内にインストールされているサーバ(現環境)からこのDBのみのサーバにTCP/IPで接続はできました。 OS:CentOS4.5(共に) apache2.2.6 php:5.2.5 postgres8.2.5 php cofigureオプション ./configure --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-mbregex よろしくお願いします。

    • ベストアンサー
    • PHP
  • RH9へのPostgresqlのインストール

    Redhat9上に、PHP.Postgresql,Apacheをインストールし、Web上かデーターをアクセスしたいと考えております。参考書等では、FTPサイトなどからtarファイルをダウンロードしてきて、インストールを行い、PHPとApacheとが連携できるように設定も行うことが書かれております。 ところが、Redhatには、便利なRPMパッケージによるインストール方法があります。そこで、PHP.Postgresql,ApacheのRPMパッケージを使用したインストールでも、tarファイルからのインストールを行った場合、前者と同様の操作環境を作ることは可能なのでしょうか?

  • PHPでpostgresql関数が利用できない

    PHPのバージョンアップ(4.1.2→4.3.1)をしたらpotgres関連の関数が利用できなくなりました。 (Fatal error: Call to undefined function: pg_connect() など) というか、phpinfo()でもpgsqlの表示がでません。バージョンアップする前のphpinfo()でConfigureの表示は--with-pgsql=sharedだったので、バージョンアップ時も同様にしてます。 php-pgsql-4.1.2-7.3.6というのがインストールされてるのですが、 これをphp-pgsql-4.3.xxxxxといったものにしなくてはならないのか? しかし、どこにあるのかわかりません・・・ php.iniのextension=pgsql.soが有効になってること、 pgsql.soがextension ディレクトリに存在していること、 コマンドラインからPostgresSQLに接続でいること、 以上の確認と Apache・PostgresSQLの再起動は行いました。 phpからPostgresSQLを利用できるようにする方法を教えてください。 (php-pgsql-4.3.xxxxxをインストールすべきであれば、DLできる場所) 以上、宜しくお願い致します。 【環境】 OS:RedHat7.2 httpd:apache-1.3.27 PostgresSQL:7.2.4

    • 締切済み
    • PHP
  • FC6でPHP5.2.4を使いたい

    Linux超初心者です。 FedoraCore6 2.6.xx をインストールしたら PHP 5.1.6 が自動でインストールされました。これを PHP 5.2.4 にしたいと思い、 ソースをダウンロードして ./configure make make install までいきました。 さて、この後はどうすればよいのでしょうか? また、configureの際、--with-pgsqlを省略したのですが、 これですとPostGreSQLが使えないビルドになってしまうので しょうか?後からなんとかなるものなのでしょうか?

    • 締切済み
    • PHP
  • PHP4 + PostgreSQL8 + Windows でPHPとPostgresの接続エラー?

    現在、Windowsで以下の環境を構築しています。 Windows XP SP2 Apache 2.0.58 PHP 4.2.2 PostgreSQL 8.1.4 インストールの最後、PHPとPostgreSQLの設定を行ったのですが、 phpinfo()で確認をしても、pgsql という項目は表示されるのに バージョンなどが表示されず、 実際PHPソースで接続してみてもエラーとなってしまいます。 Webを参考にした情報では、php.ini は、 extension_dir = "C:/php/extensions" extension=php_pgsql.dll の2行の設定で認識するという情報しか得られず、行き詰っています。 PHPのフレームワークにMojavi2を使用することになっていますので PHP5にすることはできないのです.... PHP4をPostgreSQL8では相性が悪いのでしょうか? 情報をいただければと思います。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのインストールについて

    新しくサーバーを構築しているのですが、前任者がPHPのインストールメモとして「Apacheモジュール用」のconfigureオプションと「コマンドライン用」のconfigureオプションを書き残してあります。 それぞれの違いは Apacheのモジュール用 ./configure --with-apxs2=/usr/local/apache2/bin/apxs コマンドライン用 ./configure --enable-pcntl で外は同じオプションでした。 この場合、同じディレクトリでそれぞれmake installするとあとからmakeしたPHPが生成されるのではと思いますが、これでよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPをPostgreSQLに接続するには?

    PHPから、PostgreSQLに接続させたいのですが、 具体的に、どうすればいいのでしょうか? サーバーのルート権限は保有しており、いろいろ検索した結果、 PHPよりPostgreSQLへ接続を行うためには、 > --with-pgsql[=DIR] オプションを指定するみたいですが、 ここにどうやって辿り着くのかが、分りません。 config コマンド?とはなんでしょうか? ちなみに、OSは、Red Hatです。

    • ベストアンサー
    • PHP