CentOS 5.2 での Oracle 対応 PHP の RPM
Oracle が PHP の RPM を公開中ですがでも書いたとおり、Oracle が Instant Client 対応の RPM を出してくれていますが、残念ながら最新の PHP 5.2.6 ではなく、PHP 5.2.5 がベースとなっています。(この記事の執筆時点)
また、CentOS 5.2 では、PHP 5.1.6 をベースにしていますので、PHP 5.1.6 で Oracle に対応できるように RPM を作ってみました。php-5.1.6-20.el5_2.1.src.rpm を元に spec ファイルの書き換えと、PHP 5.2.5 の configure.m4 ファイルに対するパッチなどを参考にパッチを作成したところ、とりあえずビルドすることができました。
Oracle Instant Client 10.2.0.4 の 64bit 版を対象にしています。それ以外のバージョンや 32bit 版をビルドするためには SPEC ファイル中の設定を書き換える必要があります。そんなに難しくはないと思いますが。本当はパラメータで指定できるとよいのでしょうが。
RPM 作成手順
php-5.1.6-20.el5_2.1.src.rpm をインストールし、/usr/src/redhat/SPECS/php.spec を置き換えます。(32bit環境では –with-oci8 オプションに指定しているパスを修正する必要有り。)次に php-5.1.6-oci8conf.patch ファイルを SOURCE ディレクトリに配置して、rpmbuild -ba php.spec --define 'oracle 1' としてビルドしてください。
でき上がった RPM をインストールしたら Apache を再起動し、phpinfo() コマンドで oci8 パッケージが有効になっていることを確認してください。
うまく動かないときは
うまく表示されないときは、 LD_LIBRARY_PATH に Oracle Instant Client のライブラリパスをまだ追加していないからかも。 /etc/ld.so.conf.d/oracle-instant-client.conf というファイルを作成し
/usr/lib/oracle/10.2.0.4/client/lib/
のように Oracle Instant Client のライブラリパスを追加して保存。ldconfig コマンドでパスを読み込み直してから、再度 Apache を再起動してください。
コメントはまだありません
No comments yet.
Sorry, the comment form is closed at this time.