我们正在尝试在服务器上调试一些cURL错误,我想看到STDERR日志.目前,我们可以看到我们的错误是“错误代码:7”,我们无法连接到目标服务器.我们已经联系了主机,并制定了特殊规则来开放我们需要的港口,我们甚至暂时忽略证书.
不过,我们无法连接.我需要调试这个,但是我看不到任何有关的信息.
提到“VERBOSE”和“STDERR”的线条是我最重要的.没有任何东西写入$curl_log.我究竟做错了什么?遵循手册逻辑,这应该是正确的…
$curl = curl_init();
$curl_log = fopen("curl.txt", 'w');
$url = "http://www.google.com";
curl_setopt_array($curl, array(
CURLOPT_URL => $url, // Our destination URL
CURLOPT_VERBOSE => 1, // Logs verbose output to STDERR
CURLOPT_STDERR => $curl_log, // Output STDERR log to file
CURLOPT_SSL_VERIFYPEER => 0, // Do not verify certificate
CURLOPT_FAILONERROR => 0, // true to fail silently for http requests > 400
CURLOPT_RETURNTRANSFER => 1 // Return data received from server
));
$output = fread($curl_log, 2048);
echo $output; // This returns nothing!
fclose($curl_log);
$response = curl_exec($curl);
//...restofscript...
?>
CURLOPT_VERBOSE TRUE to output verbose information. Writes output to STDERR
CURLOPT_STDERR An alternative location to output errors to instead of STDERR.
这不是一个权限问题,我已经在服务器端设置了777的文件和脚本权限,我的本地客户端是Windows,并且从来没有关心权限设置(它只适用于开发人员).