突如、oracle,mysql双方につなぐPHPを作って欲しいといわれる。納期も厳しい、、、
とりあえず環境から
IBM Xseries 306m いつもの
とりあえず既存環境は使えないので、改めPHPを再導入をすることになる。
なので CentOS 4.6(final) X86-64
php-5.2.5
Oracle -> グラフィカルの導入はいまさら無理なのでInstantClientによる導入
-> X86-64 10G R2版
http://www.oracle.com/technology/global/jp/tech/oci/instantclient/instantclient.html
mysql X86-64 5.0.67
-> これのために入れなおし。
ちなみに今回はコンパイルの過剰最適化は時間の関係で行わず。
---
オラクルインスタントクライアントとは
オラクルが配布しているバイナリー版パッケージという認識
メリット GUIがいらない ファイルを置くだけ
デメリット サーバは無理
---
必要なパッケージを導入(暗号化ライブラリーでパスワードの複合化処理等を
行っているため変換するのにいるようだ。)
yum install libmcrypt
yum install libmcrypt-devel
yum install libmhash
yum install libxslt-devel
ここからいきなりやったけど失敗するので確認しながら行う。
まずはノーマルでPDOを含まずconfigure
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv
OK
オラクルをテスト
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --with-oci8=instantclient,/usr/local/instantclient_10_2
OK
PDOを有効化
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --with-oci8=instantclient,/usr/local/instantclient_10_2 --enable-pdo
失敗した。
明示的にオラクルのバージョンを指定する必要がある
さもないと
configure でエラーがでる
configure: error: Unsupported Oracle version!
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --enable-pdo --with-pdo-oci=instantclient,/usr/local/instantclient_10_2,10.2.0.3
後は同時につかうmysqlの含み
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --enable-pdo --with-pdo-oci=instantclient,/usr/local/instantclient_10_2,10.2.0.3 --with-pdo-mysql=shared
失敗したので、パスを指定する。
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --with-oci8=instantclient,/usr/local/instantclient_10_2 --with-pdo-oci=/usr/local/instantclient_10_2 --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --with-pdo-mysql=/usr
----
これは不要っぽい
export LDFLAGS="-L/usr/lib/mysql"
----
最終版
./configure --with-apxs2=/usr/local/apache2/bin/apxs --includedir=/usr/include --libdir=/usr/lib64 --enable-zend-multibyte --enable-mbstring --enable-ftp --enable-mbregex --with-gd=shared --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --enable-gd-jis-conv --with-xsl --without-mysql --enable-soap --with-curl --with-mcrypt=/usr/local/lib --with-mhash=/usr/local/lib --with-iconv --enable-pdo --with-pdo-oci=instantclient,/usr/local/instantclient_10_2,10.2.0.3 --with-pdo-mysql=/usr
コンパイル開始
make
make test
テスト成績はこんな感じ
Number of tests : 4666 3603
Tests skipped : 1063 ( 22.8%) --------
Tests warned : 3 ( 0.1%) ( 0.1%)
Tests failed : 5 ( 0.1%) ( 0.1%)
Tests passed : 3595 ( 77.0%) ( 99.8%)
---------------------------------------------------------------------
Time taken : 512 seconds
=====================================================================
make install
完了
参考にさせていただきました。
http://d.hatena.ne.jp/studio-m/20070628/1183035681