|
ちょいと前のPHP-usersネタです。個人的にはすでに使わなくなってしまって久しいOracle関数ですが、とりあえずやってみました。使用したPHPは4.3.11です。
やり方自体はメーリングリストのページにあるように、configureスクリプト自体にOracle10g用の処理を追加してやれば問題なくconfigure・makeできるようになります。
以下のパッチはソースディレクトリのext/oracle/config.m4用のものです。
●10g_de_oracle.diff*** ext/oracle/config.m4.org 2005-05-23 11:32:02.000000000 +0900
--- ext/oracle/config.m4 2005-05-23 11:32:55.000000000 +0900
***************
*** 7,12 ****
--- 7,14 ----
if test -s "$ORACLE_DIR/orainst/unix.rgs"; then
ORACLE_VERSION=`grep '"ocommon"' $ORACLE_DIR/orainst/unix.rgs | sed 's/[ ][ ]*/:/g' | cut -d: -f 6 | cut -c 2-4`
test -z "$ORACLE_VERSION" && ORACLE_VERSION=7.3
+ elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.10.1; then
+ ORACLE_VERSION=10.1
elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.9.0; then
ORACLE_VERSION=9.0
elif test -f $ORACLE_DIR/lib/libclntsh.$SHLIB_SUFFIX_NAME.8.0; then
***************
*** 141,147 ****
PHP_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
;;
! 8.1|9.0)
PHP_ADD_LIBRARY(clntsh, 1, ORACLE_SHARED_LIBADD)
PHP_ADD_LIBPATH($ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
;;
--- 143,149 ----
PHP_ADD_LIBRARY_WITH_PATH(clntsh, $ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
;;
! 8.1|9.0|10.1)
PHP_ADD_LIBRARY(clntsh, 1, ORACLE_SHARED_LIBADD)
PHP_ADD_LIBPATH($ORACLE_DIR/lib, ORACLE_SHARED_LIBADD)
;;
パッチ適用後、ソースディレクトリのTOPで
$ buildconf --force
とすれば修正が反映されたconfigureスクリプトが作成されますので、あとは「--with-oracle」オプションを付けてbuildします。
$ ./configure --with-oracle=...
こちらでもストアドプロシージャを含めたSQL分の実行を一通り確認しましたが、特に問題はありませんでした(動作を保証するものではありません。念のため)。
|