08/10/03 19:14:51 XpYjXbv/
もう誰も興味ないと思いますが・・・というか、結果的にかなり場違いな
質問でしたが、一応解決したので書いておきます。
結果的には oci8.so をユニバーサルバイナリにしてみたら動きました。
理由は説明できないので聞かないでください。
最初に書かないといけなかったような気がしていますが、環境は、
$ uname -a
Darwin macbook.example.com 9.5.0 Darwin Kernel Version 9.5.0: Wed Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386
です。
いろいろ試行錯誤していて、以前指摘された "DYLD_PRELOAD"に相当する
ものは"DYLD_INSERT_LIBRARIES"ではないかと思い、試していると、
$ export DYLD_LIBRARY_PATH=/usr/local/instantclient_10_2
$ php ocitest.php
(成功)
$ /usr/sbin/httpd
dyld: could not load inserted library: /usr/local/instantclient_10_2/libclntsh.dylib.10.1
Trace/BPT trap
こうなりました。全然理解できませんが。
ユニバーサルバイナリにしたら良いかもと勝手に思い、
$ pecl bundle oci8
$ CFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' LDFLAGS='-arch i386 -arch x86_64 -arch ppc -arch ppc64' ./configure --with-oci8=instantclient,/usr/local/instantclient_10_2 --disable-dependency-tracking
$ sudo make install
これで試したらすんなり動きました。
おわり。