かなり御無沙汰で記事をかきます。
CentOSをつかって、PHPからOracleに接続できるようにソースパッケージからRPMを作成するまで、忘れないように書いときます。 PHPからOracleに接続する案件があったので、「あー、またクライアントいれて・・・、めんどくさー」と思っていたら、いつの間にかOracle Instant Clientっていうのがあったんですねー。 早速http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.htmlからrpmとってきて、導入。(BASICとSDKだけ) それから一般ユーザでrpmを作った方が安心なんで、一般ユーザのHOMEでソースパッケージからビルドする準備。 $ mkdir rpm $ cd rpm $ mkdir BUILD $ mkdir -p PRMS/i386 $ mkdir -p PRMS/i486 $ mkdir -p PRMS/i586 $ mkdir -p PRMS/i686 $ mkdir -p PRMS/noarch $ mkdir SOURCES $ mkdir SPECS $ mkdir SPRMS $ echo "%_topdir $HOME/rpm" > $HOME/.rpmmacros それからFTPでソースパッケージをとってきました。(php-4.3.9-3.8.src.rpm) そんでもって、 $ rpmbuild --rebuild --target i686 --define '_with_oci8 1' php-4.3.9-3.8.src.rpm で出来るかなっておもったら、最後の最後で、 File not found: /var/tmp/php-root/usr/lib/php4/oci8.so で、エラー。 調べてみたら、こんな(http://bugs.php.net/bug.php?id=31084)記事が。 それじゃということで、SOURCEディレクトリに、この(http://www.oracle.com/technology/pub/files/php_oci8ic_buildpatch.txt)内容をphp-4.3.9-oci8.patchという名前で保存。 それからSPECSディレクトリ内のphp.specに 61a62,64 > # Oracle fixes > Patch79: php-4.3.9-oci8.patch > 360a364,367 > %if %{with_oci8} > %patch79 -p0 > %endif > を取り込んで再び $ rpmbuild --bb --target i686 --define '_with_oci8 1' SPECS/php.spec これで成功。出来たRPMを導入すれば出来上がりー。 |
comment
|