[ CentOS ] PHP 5.3 ( OCI8 ) をソースコードからインストール

Pocket

ここでは、CentOS5 で、PHP5.3 と OCI8 をソースコードからインストールするサンプルを掲載しています。OCI8 をインストールすることで PHP から Oracle データベースへ接続したりクエリの発行をおこなう oci8 関数を利用することができるようになります。

スポンサーリンク

PHP ソースコードのダウンロード

PHP のソースコードは『 PHPダウンロード 』 からダウンロードできます。

インストール

ダウンロードした PHP のソースコードを適当なディレクトリに展開し、以下の手順でインストールします。 なお、PHP のインストールディレクトリは、/usr/local/lib/php5 としています。

[usr@host src]$ pwd
/usr/local/src
[usr@host src]$ ls
php-5.3.5.tar.gz
[usr@host src]$ tar zxvf php-5.3.5.tar.gz
[usr@host src]$ cd php-5.3.5
[usr@host php-5.3.5]$
./configure 
	--prefix=/usr/local/lib/php5 
	--with-apxs2=/usr/local/apache2/bin/apxs 
	--with-oci8=shared,$ORACLE_HOME 
	--with-pdo-oci=shared,$ORACLE_HOME 
	--enable-pdo=shared
	--enable-sigchild 
	--with-zlib --enable-mbstring --with-libmbfl 

[usr@host php-5.3.5]$ make
・・・
[usr@host php-5.3.5]$ su
パスワード:
[root@host php-5.3.5] make install

共有エクステンションと静的エクステンション

OCI8 のインストールには共有エクステンションと静的エクステンションのいずれかを選択します。共有エクステンションとは PHP 本体と OCI8 共有ライブラリを作成し、静的エクステンションは PHP 本体に OCi8 を取り込みますので、oci8.so ライブラリは作成されません。

上記の PHP のインストールは OCI8 を共有エクステンションとしてインストールしています。静的なエクステンションとしてインストールする場合には、下記のように –with-oci8、–with-pdo-oci および –enable-pdo オプションから shared をつけずに configure を実行します。

[usr@host php-5.3.5]$
./configure 
	--prefix=/usr/local/lib/php5 
	--with-apxs2=/usr/local/apache2/bin/apxs 
	--with-oci8=$ORACLE_HOME 
	--with-pdo-oci=$ORACLE_HOME 
	--enable-pdo
	--enable-sigchild 
	--with-zlib --enable-mbstring --with-libmbfl 

httpd.conf の修正

Apache から PHP を実行するために、以下の内容を http.conf に追加します。

[root@host php-5.3.5] vi /usr/local/apache2/conf/httpd.conf
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml
AddType application/x-httpd-php-source .phps

php.ini の修正

php.ini にタイムゾーンの設定を追加します。タイムゾーンの設定をしないと PHP5.3 ではエラーや警告が表示されてしまいます。また、OCI8 を共有エクステンションとしてインストール しているので、extension も追記する必要があります。

[root@host php-5.3.5] vi /usr/local/lib/php5/lib/php.ini

# タイムゾーンを設定する
date.timezone = Asia/Tokyo

# oci8 エクステンションの設定
# oci8 を静的エクステンションとしてインストールした場合は、下記設定は不要
extension=oci8.so
PHP の動作確認

PHP が正常にセットアップされたかを確認するために、Apache のドキュメントルートに下記のスクリプトを配置し、ブラウザ上に表示されることを確認します。OCI8 がインストールされているかを確認することを忘れないようにしましょう。

<?php
//date_default_timezone_set("Asia/Tokyo");
phpinfo();
参考
スポンサーリンク


Pocket

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>