我可以發現某些查詢已從mysqlBinLog中激發到MySQL數據庫。但是有沒有辦法找到哪個PHP文件執行了這些查詢?有沒有辦法找出哪個PHP腳本更新了MySQL數據庫?
我的問題是 - 我無法跟蹤應用程序中的哪個php文件正在觸發特定的更新查詢。
我已經在整個應用程序中搜索該特定的更新查詢,但我沒有找到任何匹配。它以編程方式生成並執行。
由於代碼足跡太大,實際上我不可能去任何地方發佈日誌聲明。
我可以發現某些查詢已從mysqlBinLog中激發到MySQL數據庫。但是有沒有辦法找到哪個PHP文件執行了這些查詢?有沒有辦法找出哪個PHP腳本更新了MySQL數據庫?
我的問題是 - 我無法跟蹤應用程序中的哪個php文件正在觸發特定的更新查詢。
我已經在整個應用程序中搜索該特定的更新查詢,但我沒有找到任何匹配。它以編程方式生成並執行。
由於代碼足跡太大,實際上我不可能去任何地方發佈日誌聲明。
你可以用數據庫訪問庫(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_
功能,好運:)
U可以把從那裏更新查詢被解僱日誌和獲得這些日誌信息
您是否嘗試過尋找源代碼查詢? –
服務器中是否有任何cron作業正在運行? –
是的。我試圖在源代碼中搜索,並沒有發現任何。有幾個cron正在運行,我也掃描了它們。但沒有得到任何線索。 – piyush