好吧,我在 PHP Yii2 应用程序中遇到了困难。我需要记录来自我的应用程序的每个传入和传出请求。传入的请求可以很容易地登录到 PHP 本身(在引导阶段添加一些处理程序),这很容易。
但真正的问题是我使用了许多第三方库(即 Amazon MWS SDK、Ebay SDK、一些 Guzzle 请求等)并且我想记录所有带有错误响应的传出请求(出于调试/分析原因)。
甚至可以更改 curl 中的某些设置来记录这些请求吗?我的意思是 curl 是否支持一些php.ini
[curl]
用于记录日志的设置.. 或者如果没有,是否有源代码php_curl.dll
可以进行一些更改以写入日志并编译它.. 或者至少为应用程序中的所有 curl 请求添加一些处理程序而无需更改/ 复制第三方 SDK。
我已经搜索了这个问题,并找到了一个解决方案,比如tcpdump
或wireshark来嗅探一些数据包,但是真的没有解决方案curl
来实现日志记录吗?
感谢您的关注
不,你不能在 .ini 中设置它
但是,如果您可以编辑 php curl-run 代码,则可以使用两个两个选项 CURLOPT_VERBOSE 和 CURLOPT_STDERR
http://php.net/manual/en/function.curl-setopt.php
CURLOPT_VERBOSE - 打开显示详细信息。CURLOPT_STDERR - 日志的输出句柄
所以你的代码会是这样的
$LogFileHandle = fopen($PathToLog."/cur.log", "a+");
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_STDERR, $LogFileHandle);
Run Code Online (Sandbox Code Playgroud)
其中$ch - 由curl_init 返回的cURL 句柄。$PathToLog -带有日志的目录路径,如“/var/log”
归档时间: |
|
查看次数: |
1986 次 |
最近记录: |