我正在尝试将curl VERBOSE信息保存到字符串中。这是我到目前为止所尝试的
curl_setopt($ch, CURLOPT_VERBOSE, true);
$fp = fopen("php://memory", 'w+'); //also tried temp
curl_setopt($ch, CURLOPT_STDERR, $fp);
$ret = curl_exec($ch);
rewind($fp);
$verbose = stream_get_contents($fp);
echo "Verbose: ".$verbose;
$ verbose包含空值
添加
fputs($fp, "test"); //works if I manually put test string
有效,输出清晰可写,stream_get_contents是正确的功能
这里我缺少的是什么?
由于
PS请不要让我使用临时文件。我正在寻找一种正确的方式来支持IO流
修改
$outputStream = fopen("php://output", 'w');
curl_setopt($ch, CURLOPT_STDERR, $outputStream);
ob_start();
$ret = curl_exec($ch);
$verbose = ob_get_contents();
ob_end_clean();
fclose($outputStream);
curl_close($ch);
echo "Verbose: ".$verbose;
这不起作用,因为某些原因,ob_buffer无法捕获php://输出(bug?)