Cobalt Qube3J の設定に関するメモ(2002/01/16) 
 

PHPとは

PHP: Hypertext Preprocessor は、HTMLファイル 内に記述するタイプのスクリプト言語です。通常のCGIとして使用できますが、PHPモジュールをApacheサーバーに組み込むことにより、Perl/CGIと比較して処理速度の高速化、サーバー負荷の低減が可能です。

記述する言語形態は、Perl に類似しておりデータベースアクセスも非常に簡単で、PostgreSQL/MySQL/Oracle/Sybaseといった各種データベースとの連携に優れています。また、XML/PDF/IMAP/LDAP等各種機能をサポートするため、広範なWebアプリケーションを容易に作成することが可能な言語です。詳しくは、日本PHPユーザ会か、PHPでね。

また、Cobalt Qube3Jには、PHP4.0(php-4.0.3pl1-C1q3)が既にインストール済みなので、ここでは PHP のインストールの説明は省きます。ちなみにこんな感じ

データベース接続例

コマンドラインから PostgreSQL を操作してみるサンプルを実行してみます。

#!/usr/bin/perl
  use Pg;
  $dbname = "hogedb";

  $conn = Pg::connectdb("dbname=$dbname");
  $res = $conn-> exec("select * from t1");

  print "name telno email\n";
  print "--------------------------------------\n";
  while(@item = $res-> fetchrow) {
    print "@item[0] @item[1]";
    print ("\n");
  }

PHPの動作確認

PHPの動作を確認するためのスクリプトを実行してみます。

<?
phpinfo();
?>

Postgres+Apacheの設定

Web上からアクセスできるための設定を行います。まず、Webアクセスユーザである httpd のユーザが Postgres を使える様に設定します。

# su - postgres
[postgres]$ createuser httpd

Postgres + PHPが実行できるように php.ini を編集します。編集終了後に、Apache を再起動します。

# vi /etc/httpd/php.ini
  ;UNIX Extensions
  extension=pgsql.so ←コメントを外す

# /etc/rc.d/init.d/httpd restart

Postgres+Apacheの設定

下記のスクリプトをサーバに設置し実行してみます。実行結果が表示されれば問題ありません。

<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=EUC-JP">
<title>
簡易アドレス帳
</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<h1>簡易アドレス帳</h1>
<br>
<hr>
<br>
<?
    /* Global variables. */
    $dbname = "hogedb"; /* DB name of PostgreSQL. */
    $tbname = "t1"; /* table name of PostgreSQL. */

    /* データベースとの接続 */
    $conn = pg_Connect("dbname=$dbname");
    if (!$conn){
        echo "データベースの接続でエラーが発生しました<BR>\n";
        exit;
    }

    /* SQL文の発行 */
    $sql = "select * from $tbname";
    $result = pg_Exec($conn, $sql);
    if (!$result) {
        echo "検索でエラーが発生しました<BR>\n";
        exit;
    }

    $num = pg_numrows($result);

    echo "<TABLE BORDER=\"1\">\n";
    echo "<TR><TD>名前</TD><TD>電話番号</TD></TR>\n";
    for ($i = 0; $i < $num; $i++) {
        $row = pg_fetch_row($result, $i);
        echo "<TR><TD>" . $row[0] . "</TD><TD>" . $row[1] . "</TD></TR>\n";
    }
    echo "</TABLE>\n";
?>
</BODY>
</HTML>

リンク

PHPモードへGo!

      PHPの入門に最適です。

PostgreSQL + Apache/PHP のインストール

      インストールの詳しい事例が書かれています。

←topへ