我们的PHP Web应用程序向API发出一系列curl请求以响应某些请求。我们正在调试一个问题,即请求偶尔会在30秒后使用503响应代码超时...我们很确定这是因为一个(或两个)卷曲请求花费的时间太长。
为了诊断哪个卷曲请求是问题,我们想记录或跟踪各个请求。我们使用Logentries附加组件在Heroku Cedar实例上托管应用程序,我们也使用New Relic,但这两种工具似乎都没有提供记录/跟踪单个curl
的选项。我们怎么做?
我知道我们可以设置带有时间戳的变量并手动记录它们......但是怀疑我们会“重新发明轮子”。什么是最好的方法,最好不要搞乱我们的代码库。
答案 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