我试图用PHP中的cURL调用来追踪问题.它在我们的测试环境中工作正常,但在我们的生产环境中却不行.当我尝试执行cURL函数时,它只是挂起而永远不会响应.我试过从命令行创建一个cURL连接,同样的事情发生了.
我想知道cURL是否记录了某处发生的事情,因为我无法弄清楚在命令搅拌和搅拌期间发生了什么.有谁知道是否有一个日志跟踪那里发生的事情?
我认为这是连接问题,但我们的IT人员坚持认为我应该能够毫无问题地访问它.有任何想法吗?我正在运行CentOS和PHP 5.1.
更新:使用详细模式,我收到错误28"连接()超时".我尝试将超时延长到100秒,并将max-redirs限制为5,没有变化.我试着ping这个盒子,还有一个超时.所以我要把它呈现给IT,看看他们是否会再看一遍.感谢所有的帮助,希望我能在半小时内回来,因为这是他们的问题.
更新2:原来我的方框是使用外部IP地址解析服务器名称.当IT给我内部IP地址并在cURL调用中替换它时,一切都很好.感谢大家的帮助.
在你的php中,你可以设置CURLOPT_VERBOSE变量:
curl_setopt($curl, CURLOPT_VERBOSE, TRUE);
然后,这会记录到STDERR,或者使用CURLOPT_STDERR
(使用文件指针)指定的文件:
curl_setopt($curl, CURLOPT_STDERR, $fp);
从命令行,您可以使用以下开关:
--verbose
向命令行报告更多信息
--trace
或--trace-ascii
跟踪到文件
您可以使用--trace-time
将时间戳添加到详细/文件输出