MySQLが別サーバにある場合、MySQLをインストールしなくても大丈夫でしょうか。
PHPのconfigureに「--with-mysql」を追加して再コンパイルだけで大丈夫でしょうか。
環境は以下のとおりです。
OS : RedHat Linux ES3
Apache 1.3
PHP 4.4.1
MySQL 5(別サーバ)
宜しくお願いします。
mysql 自体をインストールする必要はありませんが、少なくともビルドする必要はあります。
mysql-5.5.1、php-4.4.9 で、ソースからビルドを試してみましたが、php で mysql サポートを有効にしてビルドする場合、mysql のヘッダファイルと、クライアントライブラリが必要になります。ヘッダファイルは、mysql のソースを展開するだけで得られますが、ライブラリは mysql をビルドしないと得られません。
で、単に mysql をビルドした場合、php の configure での指定でちょっと困りました。
「./configure --with-mysql=../mysql-5.5.1」とすると、ヘッダファイルを「../mysql-5.5.1/include」の下から、ライブラリを「../mysql-5.5.1/lib」の下から見つけようとします。mysql をビルドした段階で出来上がるライブラリファイルは「../mysql-5.5.1/libmysql」というディレクトリになるため、うまく、ヘッダファイルとライブラリの両方を見つけられるようにできませんでした。
で、ちょっとごまかしになりますが、mysql-5.5.1 のディレクトリ上で、
ln -s libmysql lib
とシンボリックリンクを作成した上で、「./configure --with-mysql=../mysql-5.5.1」とすると、configure に成功し、無事、ビルドもできました。
一応、phpinfo() で MySQL が有効になっているのは確認しましたが、この状態でよそのサーバに持って行って、きちんと使えるかどうかは確認していません。
シンボリックリンクを作るところは、ひょっとしたら、--with-mysql の指定の仕方でなんとかなるかもしれませんが、とりあえず、手っ取り早く解決する方法が、シンボリックリンクでした。
参考になりました。ありがとうございます。
mysql 自体をインストールする必要はありませんが、少なくともビルドする必要はあります。
mysql-5.5.1、php-4.4.9 で、ソースからビルドを試してみましたが、php で mysql サポートを有効にしてビルドする場合、mysql のヘッダファイルと、クライアントライブラリが必要になります。ヘッダファイルは、mysql のソースを展開するだけで得られますが、ライブラリは mysql をビルドしないと得られません。
で、単に mysql をビルドした場合、php の configure での指定でちょっと困りました。
「./configure --with-mysql=../mysql-5.5.1」とすると、ヘッダファイルを「../mysql-5.5.1/include」の下から、ライブラリを「../mysql-5.5.1/lib」の下から見つけようとします。mysql をビルドした段階で出来上がるライブラリファイルは「../mysql-5.5.1/libmysql」というディレクトリになるため、うまく、ヘッダファイルとライブラリの両方を見つけられるようにできませんでした。
で、ちょっとごまかしになりますが、mysql-5.5.1 のディレクトリ上で、
ln -s libmysql lib
とシンボリックリンクを作成した上で、「./configure --with-mysql=../mysql-5.5.1」とすると、configure に成功し、無事、ビルドもできました。
一応、phpinfo() で MySQL が有効になっているのは確認しましたが、この状態でよそのサーバに持って行って、きちんと使えるかどうかは確認していません。
シンボリックリンクを作るところは、ひょっとしたら、--with-mysql の指定の仕方でなんとかなるかもしれませんが、とりあえず、手っ取り早く解決する方法が、シンボリックリンクでした。
参考になりました。ありがとうございます。
参考になりました。ありがとうございます。