NEW ENTRIES
CATEGORIES
ARCHIVES

かなり御無沙汰で記事をかきます。

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を導入すれば出来上がりー。


2006,03,27, Mon 15:25
PHPcomments (0) trackback (x)









<NEXT  PAGETOP  BACK>
CALENDAR
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30     
<< 2024 April >>
PROFILE
LOGIN
現在のモード: ゲストモード
USER ID:
PASSWORD:
POWERED BY
Script by:Blogn+(ぶろぐん+)
Skin by:vivid*face
RSS 1.0
処理時間 0.010213秒
SEARCH