Symfoware
PHPドライバ 使用例のサンプル
PHPにて、データベースの内容を表示する例です。このサンプルは以下の組み合わせにて動作検証しています。
- Red Hat Enterprise Linux AS (v.2.1 for x86)
- Linux版Symfoware Server Standard Edition V5.0L10
- PHP 4.2.2
- PHP Symfoware 1.0.0
- Apache HTTP Server 1.3.26
(1)Apache HTTP Serverのインストール
"The Apache Software Foundation" のウェブサイトから、Apache HTTP Serverのアーカイブを入手し、インストールします。
(2)PHPのインストール
"The PHP Group" のウェブサイトから、PHPソースのアーカイブを入手し、インストールします。
(注1)
ここでは、Apacheモジュール版PHPインタープリタをインストールします(以下もApacheモジュール版PHPインタープリタをインストールしたものとして説明します。)
(3)PHP Symfowareのインストールとセットアップ
本ウェブサイトよりダウンロードしたPHP Symfowareを任意のディレクトリ(ここでは/tmp)に解凍し、インストールします。
su -
cd /tmp
gunzip -c php-symfoware-1.0.0.tar.gz | tar xvf -
cd /tmp/php-symfoware-1.0.0
phpize
./configure --with-symfoware
make
cd /tmp/php-symfoware-1.0.0/modules
cp php_symfoware.so /usr/local/lib/php/extensions
cd /usr/local/lib
viなどでPHP動作環境ファイル"php.ini"を編集し、下記のパラメーターを設定します。
vi php.ini
extension_dir = /usr/local/lib/php/extensions
extension=php_symfoware.so
(4)Apache HTTP Serverのセットアップと起動
Apache HTTP Serverを利用できるようにセットアップし、起動します。
viなどでApache HTTP Server動作環境ファイル(以下、動作環境ファイル)を開き、下記のディレクティブの内容を確認します。
(注2)
斜体文字の箇所"ホスト名"は使用者が任意に設定した内容となります。
cd /usr/local/apache/conf
vi httpd.conf
Port 80
ServerName ホスト名
ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"
LoadModule php4_module libexec/libphp4.so
動作環境ファイルに下記のディレクティブを設定します。
(注3)
斜体文字の箇所"任意の絶対パス"は使用者が任意に設定した内容となります。
Alias /example/ "/任意の絶対パス/example/"
AddType application/x-httpd-php .php
PassEnv LD_LIBRARY_PATH
PassEnv LD_PRELOAD
PassEnv PATH
PassEnv LANG
動作環境ファイルにClearModuleListディレクティブが指定されている場合、動作環境ファイルに下記のディレクティブを指定します。
AddModule mod_php4.c
スーパーユーザーの環境変数LD_LIBRARY_PATH、LD_PRELOADを設定します。
(注4)
環境変数LD_LIBRARY_PATH、LD_PRELOADの詳細は、製品添付のマニュアル「FUJITSU Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編」の「5.1.2 応用プログラムの起動(UNIX系の場合)」を参照してください。
スーパーユーザーの環境変数PATH、LANGを設定します。
(注5)
環境変数PATH、LANG の詳細は、製品添付のマニュアル「FUJITSU Symfoware(R) Server スタートガイド サーバ編 」の「3.5.5 環境変数の設定」を参照してください。
Apache HTTP Server起動コマンドのディレクトリに移動し、動作環境ファイルの妥当性をチェックし、問題がなければApache HTTP Serverを起動します。
cd /usr/local/apache/bin
./apachectl configtest
./apachectl start
(5)PHPサンプルスクリプトの起動
サンプルスクリプトはPerlのサンプルスクリプトで作成したデータベースにアクセスし、データを読み出してWebブラウザ上で表示するまでの一連を行っています。
PHP Symfoware 使用方法の参考としてご覧ください。
(注6)
斜体文字の箇所"username"、"password"は使用者が任意に設定した内容となります。
<HTML>
<BODY>
<?php
putenv( "RDBNAME = rdbsys1" );
$connection_id = symfoware_connect( "RDBDB", "username", "password" );
$result_id = symfoware_prepare( $connection_id, "SELECT * FROM STOCKS.STOCK" );
symfoware_execute( $result_id );
?>
<TABLE BORDER = "1">
<?
while ( symfoware_fetch_row ( $result_id ) ) {
?>
<TR>
<?
for ( $x = 1; $x <= symfoware_num_fields( $result_id ); $x ++ ) {
?>
<TD>
<?
printf ( "%s", symfoware_result( $result_id, $x ) );
?>
</TD>
<?
}
?>
</TR>
<?
}
?>
</TABLE>
<?
symfoware_close( $connection_id );
?>
</BODY>
</HTML>
サンプルスクリプトの実行結果

