2011-06-29 30 views
1

生の "mysql_query"を使用するコードを継承しました。ラッパーや何もありません。 私はMySQLに送られたすべてのクエリのログを取得したいと思っています。サーバの人は家にいましたので、クエリのログをオンにしてもらうことはできません。mysql_queryが呼び出されるたびに関数を実行します。 (PHP)

これを実行する方法はありますか?

乾杯。

+1

(データベース接続設定)プロキシにアプリケーションを接続し、実サーバ

  • にプロキシを接続して使用するためにそれらを交換ラッパーあなたはできない? 'eclipse'では'検索と置換 'さえできます。 –

  • 答えて

    0
    • mysql_proxyどこか、
    • のconfigure it with a LUA script to log all statementsをインストールすると、それを行うことができるかもしれません。
    • あなたが継承されたファイルのすべてにmysql_query` `を検索することができます
    +0

    面白いですが、悲しいことに、可能ではありません。私は物事をインストールすることはできません。 –

    +0

    @ムー:あなた自身のコンピュータに(または少なくともパブリックIPアドレスのもの)インストールすることができます。 MySQlサーバーまたはPHPコードに対してローカルである必要はありません。 – regilero

    1

    実行:

    mysql_query('SET GLOBAL general_log = 1;'); 
    
    +0

    ianbarkerへの私の答えを見てください。 –

    +0

    ログファイルにアクセスできない場合は、mysql_queryをラップするオプションだけです。しかし、あなたはすべてを因数分解する必要があります。あなたのサーバの人を待ちます。 – dynamic

    +0

    私は通常、ラッパーまたはZend Frameworkを使用していますが、何らかの理由でこのサイトを使用していませんでした。理由は分かりません。 –

    1

    あなたはSET GLOBAL general_log = 'ON';

    +0

    私はログファイルにアクセスできません - 設定で指定されたファイルへのロギングを開始するといいのですか? –

    +0

    はいそうです。 mysqlのラッパーを作成し、それを使ってPHPでログに記録できるようにする必要があります。 find/replaceを使用して迅速に実装できるはずですが、SVNなどをバックアップしたり使用したりしてください。 – ianbarker

    +0

    通常、サイトはZendで書かれていますが、そうでない場合でもラッパーを使用します。このサイトを書いた人は、あまりにもデータベースに親しみがありませんでした(2000クエリを生成する製品リストページを読んでください)。それが私が現在取り組んでいる理由です。 –

    関連する問題