[an error occurred while processing this directive] [an error occurred while processing this directive]

PHP

DB接続

pearライブラリのDB.phpモジュールを使うと、簡単に色んなDBに対応できる。
Vineの場合は、以下のパッケージをインストール。
php
postgresql
php-pgsql
pear自体は標準でPHPに入っているんだけど、postgresと接続するためのライブラリは入っていないので、 php-pgsqlを別に入れる。
もし
Fatal error: Failed opening required 'DB.php' (include_path='.:/usr/share/pear') in ...
みたいなエラーが出たら、言われた通りph.iniとかでインクルードパスを設定する。
で、とりあえずこんなコード書けば動くはず。
  require_once 'DB.php';
  $dsn = array(
    'phptype' => 'pgsql',
    'dbsyntax' => 'pgsql',
    'username' => 'ユーザー名',
    'protocol' => 'unix',
    'database' => 'データベース名'
  );
  $db = DB::connect($dsn);

  if (DB::isError($db)) {
    die($db->getMessage());
  }
DB Error: cannot find database
というエラーが出たときは、postgres-phpみたいなパッケージが入ってるか確認。 (これ、データベース名が間違っているとかいうエラーではないみたいです)
DB Error: connect failed
というエラーの時は、データベース名とかを確認。

その他tips

[an error occurred while processing this directive]