记录 http 请求由 Apache/PHP Server 发出?



我继承了一个PHP7/Apache 2.4站点,该站点向外部API发出了许多cURL请求。我必须将它们转换为另一个平台(基于 python(,我想知道当前站点正在发出哪些 HTTP 请求。

这并不像检查 PHP curl 代码那么简单,因为它是从这个具有大量不同配置选项的大型应用程序中调用的。

我可以尝试tcpdump或Wireshark,但它们很复杂;我可以完全控制我的本地开发服务器,Apache和PHP配置。我想知道是否有任何方法可以配置服务器以记录它发出的请求?

Tcpdump可能是你最好的选择。下面是一个Serverfault答案,其中包含一些示例,这些示例可能有助于记录呼叫的实际任务:

https://serverfault.com/questions/307626/how-to-log-outgoing-http-requests-from-php-curl

但是,我不确定这将如何解决您的项目问题。您无法保证在使用该应用程序时仅通过观察交通来击中每个卷发。在这种情况下,我要做的是找到curl_init()的每个实例,然后向后工作。类似> grep -rn --include *.php --exclude-dir vendor curl_init .

此 grep 查找包含curl_init()排除供应商的所有.php文件(假设项目使用作曲家(。并返回文件名和行号。

最新更新