FreeBSD 6.2系 + Apache 1.3系 + mod_perl 1.30 + mod_php 4 + MySQL 4.1系 環境での質問です。

上記の環境だと、phpは普通に使えるのですが、mod_perl上でMySQLが上手く扱えないんです。
mod_phpの読み込みをhttpd.confから外してApacheを再起動すると、それだけでmod_perlでDBIを使用してSQLの発行が正常に出来るようになります。。。
逆にすると使えなくなります。。。
mod_perlとmod_phpが干渉しているからと予想できるのですが、解決策を知っている方ご指南頂きたいです。
※Apacheの複数起動は最終手段と考えてますので、それ以外のご回答でお願いします。。。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/01/19 10:22:17
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:poch-7003 No.1

回答回数43ベストアンサー獲得回数8

ポイント60pt

モジュールを読み込む順番を色々変えてみるとどうでしょうか?

id:shiroxcom

なるほどですね。。

今単純に順番をmod_perl読み込みを先にしたり、後にしたり、

すぐに思い付く「順番変更」をやってみたのですが、ダメでした。

でもこの線で色々試してみようとおもいます。

もし続いてのヒントを頂けたらうれしいです。

例えばこれの後にmod_perlを読み込んで。。phpはこういう風に読み込んで。。のような

ありがとうございます。

2009/01/15 11:12:09
  • id:tombe
    恐らくPHPのMySQLドライバがbundle版(PHPに同梱されている似非ドライバ)になっています。
    この似非ドライバは、PHP<->MySQLだけで無く、他の言語(Perlに限らず)とMySQL-APIとのアクセスまで奪い取ってしまう極悪非道ドライバです。
    解決手段は以下の通り。
    1.PHPをパッケージインストールしている場合は一旦削除する。
    2.PHPをソースからコンパイルインストールする。
     この際、configureオプションに --with-mysql[=DIR] を指定する。
     (これでbundle版ではなく、本物ドライバがリンクされる)
    以上です。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません