如何诊断长时间运行的PHP卷曲请求

时间:2015-03-25 17:42:56

标签: php apache curl logging heroku

我们的PHP Web应用程序向API发出一系列curl请求以响应某些请求。我们正在调试一个问题,即请求偶尔会在30秒后使用503响应代码超时...我们很确定这是因为一个(或两个)卷曲请求花费的时间太长。

为了诊断哪个卷曲请求是问题,我们想记录或跟踪各个请求。我们使用Logentries附加组件在Heroku Cedar实例上托管应用程序,我们也使用New Relic,但这两种工具似乎都没有提供记录/跟踪单个curl的选项。我们怎么做?

我知道我们可以设置带有时间戳的变量并手动记录它们......但是怀疑我们会“重新发明轮子”。什么是最好的方法,最好不要搞乱我们的代码库。

1 个答案:

答案 0 :(得分:0)

您将需要xdebug和代码修改来诊断它。我猜你不必改变代码,但设置

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);  //set it to 0 for infinity
curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds, increase that 

也不要忘记放大php脚本自我执行时间:

`set_time_limit(0);//` to infinity for example