« 任天堂商法の秘密―いかにして"子ども心"を掴んだか | メイン | バックキャスティング方法 »

PHP-with Oracle mysql by PDO

         

突如、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

         

トラックバック

このエントリーのトラックバックURL:
http://www.ostl.net/blog/mt-tb.cgi/349

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2008年08月24日 21:54に投稿されたエントリーのページです。

ひとつ前の投稿は「任天堂商法の秘密―いかにして"子ども心"を掴んだか」です。

次の投稿は「バックキャスティング方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
MT3系