2017-06-30 28 views
2

我想了解一個代碼庫,它會幫助知道它何時訪問遠程資源。有沒有辦法使用PHP記錄所有出站請求(即不使用網絡嗅探器)?我想記錄所有的curl_exec,file_get_contents,ftp_get記錄PHP發起的所有網絡請求?

+0

除編輯代碼庫並使其記錄每個出站請求外,出站流量不通過您的網絡服務器軟件(Apache/NGinx等)。因此,您必須使用數據包嗅探器或手動檢查代碼並創建您自己的日誌。 – icecub

+0

有一半體面的IDE,應該不難找到。我使用PHPStorm,並在一個龐大的代碼庫的'curl_exec'上跑了一個'find usage',花了1.5秒。 – YvesLeBorg

+0

@YvesLeBorg如果有人做了'$ foo ='curl'。 '_exec'; $ foo();',這將不再有效。我想要一個全面的方法來查找所有出站請求。 –

回答

0

如果你想在代碼中找到所有的實際函數調用,你可以使用xdebug profiler

  1. 安裝並啓用xdebug事件探查器(不在生產​​服務器上)。
  2. 運行您的應用程序的每個功能。
  3. 在應用程序(QCacheGrind,PHPStorm等)中打開分析器輸出文件。
  4. 搜索呼叫curl_execfile_get_contents

這些應用程序會告訴你所謂的文件名和行號,以及爲獲得這些呼籲全堆棧跟蹤。