入口
pkgsrc による設置
  php3
    php3-i18n
    database/php3-pgsql
    www/ap-php3
apache 版
postgres (1)
  php4-pgsql (3)
    make install
php4 (apache1)
  www/php4(2)
    php4 の版
  www/ap-php4(5)
  www/apache(4)
    IPv6
    IPv4+nossl
    Apache/SSL
php4(apache2) - 依存関係
  ap2-php4
    php4
    mod_php4.so
    /usr/pkg/etc/php.ini
  php4-session(6)
    session.so
    --enable-session
    core_globals
    map
    php4 i18n 無
    php4 i18n
  configure
セッション管理
  php3 互換モード
  php4 内蔵
  php4 + phplib
  phpinfo()
PostgreSQL 準備
  postmaster
  環境変数
  initdb
    実際の様子
    試しに起動
  postmaster 設定
  postgreql.conf
  pg_hba.conf
  postmaster の起動
  使用者登録
  pg_ctl
  /etc/rc.conf
  shutdown
データべースを作る
psql
  psql \h
  psql \?
  psql \h select
  psql \d
  psql \copy
  psql 操作
  Data Type
    DATE
Application
  pgpost
    pgpost 設置例
    psql で見る
  AuthPG
      create table
        GRANT
  pgimage
  pgimage psql
SQL
URL
  PostgreSQL
  PHP
良くある問題
    undefined pg_connect()
    Link-ID == false
    Call-time pass-by-reference
    session_register
    Undefined session_adapt_flush
    Failed opening for inclusion
  does not exist in ..
  pg_exec() query failed
  Undefined property: Port
  undefined function: preg_match()
  used in non-rule query
その他
適用例
  日記から等

PostgreSQL + Apache + PHP4 | PHP4 programming

良くある問題

undefined pg_connect()

Call to undefined function:  pg_connect() 
apache が postgresql Module (pgsql.so) を見つけていない時にこうなる (動的に組込むとは限らず、静的に link する場合もあるが、 それがうまく行っていない)。

phpinfo() を表示した時に postgres が含まれていないはず。

apache -> php4 -> pgsql のつながりがあるかを確認する。

  • apache の設定 の httpd.conf に次の行があるか
    LoadModule php4_module lib/httpd/mod_php4.so
    AddModule mod_php4.c
    
    ( httpd.conf の位置は、例えば /usr/pkg/etc/httpd/httpd.conf)

    もっとも、 apache を作る時に、次のように 組込んでしまう 方法もある

    ./configure --activate-module=src/modules/php4/libphp4.a
    
  • php4-pgsql を組立てて必要な設定 をしているか

    簡単に書けば

    1. /usr/pkgsrc/database/php4-pgsql で make ; make install して pgsql.so を 入れておく。入るのは例えば
      /usr/pkg/lib/php/20010901/pgsql.so
      のようなところ。
    2. /usr/pkg/etc/php.ini に (上の例で言えば)
      extension_dir = /usr/pkg/lib/php/20010901/
      extension=pgsql.so
      
      と書いておく

Linux/woody を使っていた方の場合: http://lists.debian.or.jp/debian-users/200110/msg00058.html (この場合:

結局、sid にアップグレードし、poolからphp4-pgsqlをとってきて、終わりました。
とおっしゃっています。

その他、 php3 php4 pg_connect "Call to undefined functions" で 検索する と、いつくか見つかる

この画面は Jeedosaquin によって表示しています。
Last Update: Fri, 03 May 2019 15:45:20 GMT 1.66 2008/03/08