必要なソフトウェアの入手と導入
本作業は、すべてrootユーザーで行うことを前提としています。実運用時には、各ファイルパーミッション、設定などセキュリティを再考することをお勧めします。
1. Apache HTTP Server
ディストリビューション付属のもの、もしくはDSOを有効にしコンパイルしたApacheを別途導入する必要があります。
- Apache Downloadサイトで、[httpd-2.2.4.tar.bz2]をクリックしダウンロードします。
- 展開しコンパイルを行います。
tar xvfj httpd-2.2.4.tar.bz2 cd httpd-2.2.4 ./configure --enable-so make; make install
2. Oracle Instant Client v10.2.0.3
- Oracle Techology Networkからダウンロード
ダウンロードにはOTNへの会員登録が必要です。Oracle Instant Clientは下記のコンポーネントをダウンロードすることが可能です。表1
基本 OCI、OCCIおよびJDBC OCIアプリケーションの実行に必要なすべてのファイル。 JDBC Supplement JDBCでのXA、国際化、および行セットに対する追加サポート。 SQL*Plus Instant ClientでSQL*Plusを実行するための追加ライブラリおよび実行可能ファイル。 ODBC Supplement Instant ClientでODBCアプリケーションを有効にするための追加ライブラリ。 SDK OCIおよびOCCIアプリケーションを開発するためのヘッダー・ファイルとMakefile。開発されたアプリケーションは、任意のクライアント環境に配置できます。 このうち、PHPでコンパイルするにあたり必要なものは、「基本」「SDK」の2つのみです。今回は動作確認・メンテナンス性が必要であるため、併せて「SQL*Plus」を導入します。Linux x86をクリックし、ダウンロードページへ移動します。本ページより、下記パッケージをダウンロードします。- Oracle Instant Clientパッケージ - 基本
instantclient-basic-linux32-10.2.0.3-20061115.zip
- Oracle Instant Clientパッケージ - SDK
instantclient-sdk-linux32-10.2.0.3-20061115.zip
- Oracle Instant Clientパッケージ - SQL*Plus
instantclient-sqlplus-linux32-10.2.0.3-20061115.zip
- Oracle Instant Clientパッケージ - 基本
- ダウンロードファイルの展開
ダウンロードを行ったファイルを任意の場所に展開します。本記事では/usr/local/lib/へ展開しています。
unzip instantclient-basic-linux32-10.2.0.3-20061115.zip /usr/local/lib/ unzip instantclient-sdk-linux32-10.2.0.3-20061115.zip /usr/local/lib/ unzip instantclient-sqlplus-linux32-10.2.0.3-20061115.zip /usr/local/lib
- リンク
展開したライブラリへ、参照用にリンクを作成します。
ln -s /usr/local/lib/instantclient_10_2/libclntsh.so.10.1/usr/local/lib/instantclient_10_2/libclntsh.so
- SQL*PLUSの有効化
vi ~/.bashrc
下記行を追加します。export LANG=ja_JP.utf8 export NLS_LANG=Japanese_Japan.AL32UTF8 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/instantclient_10_2 export PATH=$PATH:/usr/local/lib/instantclient_10_2
3. PHP 5.2.2
- www.php.orgより、ソースコードをダウンロードします。
この例では、[PHP 5.2.2 (tar.bz2) [7,140Kb] - 03 May 2007]をダウンロードします。
- ソースコードを展開します。
tar xvfj php-5.2.2.tar.bz2 /usr/local/src/
- コンパイルを実施します。
cd /usr/local/src/php-5.2.2 ./configure --with-oci8=instantclient,/usr/local/lib/instantclient_10_2 --with-apxs2=/usr/local/apache2/bin/apxs --enable-mbstring --enable-zend-multibyte make; make install
Apacheの起動とPHPの動作確認
- httpd.confの変更
Apacheの設定ファイルを変更し、PHPを有効にします。
vi /usr/local/apache2/conf/httpd.conf
下記行が記載されているか確認LoadModule php5_module modules/libphp5.so
下記行を追加します(AddType application/x-gzip .gz .tgzの下あたり)AddType application/php x-httpd-php .php
- envvarsの変更
Apacheのbinファイル配下にある環境設定ファイルを編集し、設定します。
vi /usr/local/apache2/bin/envvars
下記行を追加(既存のLD_LIBRARY_PATHにInstant Clientの展開ディレクトリを追加)export LD_LIBRARY_PATH=/usr/local/lib/instantclient_10_2:$LD_LIBRARY_PATH
下記行を追加(文字コードをUTF8にする)NLS_LANG=Japanese_Japan.AL32UTF8 export NLS_LANG
- php.iniの配置および変更
cp /usr/local/src/php-5.2.2/php.ini-dist /usr/local/lib/php.ini vi /usr/local/lib/php.ini
下記行を変更し、UTF-8で文字コードを統一するdefault_charset = "UTF-8" mbstring.internal_encoding = UTF-8 mbstring.http_output = UTF-8
- Apacheの起動および確認
/usr/local/apache2/bin/apachectl start
ブラウザでアクセスし確認http://<hostname>/
It's Work!(ソースからコンパイルした場合のデフォルト)が表示されていれば完了です。
- PHPの確認
テスト用スクリプトを配置して、確認します。
vi /usr/local/apache2/htdocs/php.php
下記内容で編集を行う<?php phpinfo(); ?>
ブラウザでアクセスし確認http://<hostname>/php.php
OCIの項目があることを確認します。






