2012-05-21 70 views
0

我可以發現某些查詢已從mysqlBinLog中激發到MySQL數據庫。但是有沒有辦法找到哪個PHP文件執行了這些查詢?有沒有辦法找出哪個PHP腳本更新了MySQL數據庫?

我的問題是 - 我無法跟蹤應用程序中的哪個php文件正在觸發特定的更新查詢。

我已經在整個應用程序中搜索該特定的更新查詢,但我沒有找到任何匹配。它以編程方式生成並執行。

由於代碼足跡太大,實際上我不可能去任何地方發佈日誌聲明。

+0

您是否嘗試過尋找源代碼查詢? –

+0

服務器中是否有任何cron作業正在運行? –

+0

是的。我試圖在源代碼中搜索,並沒有發現任何。有幾個cron正在運行,我也掃描了它們。但沒有得到任何線索。 – piyush

回答

3

你可以用數據庫訪問庫(PDO)圍繞一個記錄器類,並與回溯一起登錄查詢。

class LoggerPDO extends PDO 
{ 
    function query() 
    { 
     return $this->logger('query', func_get_args()); 
    } 

    private function logger($method, $args) 
    { 
     // log query 
     debug_print_backtrace(); 
     // push to parent 
     return call_user_func_array(array($this, 'parent::' . $method), $args); 
    } 
} 

您可以添加需要登錄過其他方法,如prepare()或​​。

如果您使用mysql_功能,好運:)

0

U可以把從那裏更新查詢被解僱日誌和獲得這些日誌信息

相關問題