CentOS 5.2 での Oracle 対応 PHP の RPM

2008-8-7 18:32
このエントリーをはてなブックマークに追加

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 を再起動してください。

  • ブックマーク : アクセス: 13,459回
  • カテゴリー : PHP
  • キーワード : , , ,

コメントはまだありません

No comments yet.

Sorry, the comment form is closed at this time.

32 queries. HTML convert time: 0.080 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン