2017-06-30 5 views
2

私はコードベースを理解しようとしており、リモートリソースにいつアクセスしているかを知るのに役立ちます。 PHPを使用して(つまり、ネットワークスニファを使用せずに)すべての送信リクエストを記録する方法はありますか?私はあなたが実際の関数のすべてのコードで呼び出しを検索したい場合は、xdebug profilerを使用することができ、すべてのcurl_execfile_get_contentsftp_getなどPHPによって開始されたすべてのネットワーク要求をログに記録しますか?

+0

コードベースを編集して、すべての送信要求をログに記録するのとは別に、アウトバウンドトラフィックは、Webサーバーソフトウェア(Apache/NGinxなど)を通過しません。したがって、パケットスニッファを使用するか、手動でコードを実行して独自のログを作成する必要があります。 – icecub

+0

IDEの半分であれば、見つけにくいはずです。私はPHPStormを使い、大きなコードベースで 'curl_exec'で' find usage'を実行しましたが、1.5秒で完了しました。 – YvesLeBorg

+0

@ YvesLeBorg誰かが '$ foo = 'curl'した場合。 '_exec'; $ foo(); 'これはもう動作しません。私はすべてのアウトバウンドリクエストを見つける包括的な方法が必要です。 –

答えて

0

を記録したいです。

  1. 実稼働サーバーではなくxdebugプロファイラをインストールして有効にします。
  2. アプリケーションのすべての機能を実行します。
  3. アプリケーション(QCacheGrind、PHPStormなど)でプロファイラ出力ファイルを開きます。
  4. などcurl_execへの呼び出しを検索、file_get_contents

これらのアプリケーションは、あなたが呼ばれる名前と行番号だけでなく、これらの呼び出しになったフルスタックトレースファイルが表示されます。

関連する問題