SampleDBでPHPLIBを使う場合の設定方法を紹介する。
SampleDBの管理ユーザ「postgres」でログインしよう。
PHPLIBを使うには、対象のデータベース内にPHPLIB用のテーブルを作る必要がある。
1.テーブル作成スクリプトの実行
PostgreSQL用のテーブル作成スクリプトのサンプル「create_database.pgsql」を実行するが、そのまま実行すると文法エラーが発生する。このスクリプトをviで開き、先頭が
//で開始する行を全て削除しておくこと。
修正したら、スクリプトを実行する。
$ psql -e SampleDB < /usr/local/src/phplib-7.2b/stuff/create_database.pgsql SampleDBに4つのテーブルが作成される。
各テーブルにApacheの実行ユーザが読み書きできるように権限を設定する。
$ psql SampleDB
phplib=< grant all on active_sessions to nobody;
phplib=< grant all on active_sessions_split to nobody;
phplib=< grant all on auth_user to nobody;
phplib=< grant all on auth_user_md5 to nobody;
phplib=< \q
$2.local.incの編集
phpファイルを置くディレクトリに対して以下の作業を行う。どのphpファイルも同じデータベースを見にいくのなら、コピーしないでそのまま編集すればいい。
- ApacheのDocumentRootにlocal.incをコピーする。
$ cp /usr/local/apache/php/local.inc /usr/local/apache/htdocs/ - コピーしたlocal.incを編集する。
$ vi /usr/local/apache/htdocs/local.inc - SampleDBデータベースを利用できるよう、設定を変更する。
class DB_Example extends DB_Sql {
var $host = "localhost";
var $Database = "example_database";
var $User = "example_user";
var $Password = "";
}
↓
class DB_Example extends DB_Sql {
var $host = "サーバのIPアドレス又はホスト名";
var $Database = "SampleDB";
var $User = "nobody";
var $Password = "";
}3.Apacheの再起動
local.incの設定を反映させるために、Apacheを再起動する。
$ su -
# /etc/rc.d/init.d/httpd restart