2010-08-13 39 views
4

我在我的php脚本中使用CURL,我想从CURLOPT_VERBOSE写入信息到文件中。我尝试了CURLOPT_STDERR,但没有运气。它仍然在cmd窗口中打印所有内容。我不确定参数curl_setopt($ ch,CURLOPT_STDERR,$ errFileHandle);应该是文件处理程序或文件名(两者都不起作用)。如何将详细信息写入文件?

+0

至于“文件处理程序或文件名”,该手册明确表示,“流资源(使用fopen()函数,用于例如)“(即文件句柄)。你有错误显示或记录打开;如果是这样,你看到了什么错误;如果没有,为什么不呢?该文件是否成功用fopen()打开?你打开它的绝对路径还是相对路径? (如果是相对的,它将在当前的工作目录中,您可以使用getcwd()确定)。你可以发布你的相关代码来帮助我们吗? – GZipp 2010-08-13 12:48:06

+0

@通常,如果提供的答案回答你的问题,你能否选择它作为你的答案,以便这个长期存在的问题是封闭的?谢谢。 – 2012-03-24 21:31:37

回答

4

在基于Unix的操作系统上运行?在命令行中使用以下命令来运行脚本。使用Windows操作系统,请在Cygwin上使用该命令。

php yourPhp.php > yourFile.txt 

或者,你可以运行在一个文件中详细模式处理

<?PHP 

$verbosPath = __DIR__.DIRECTORY_SEPARATOR.'verboseOut.txt'; 
echo "Saving verbose output to: $verbosPath\n"; 

$handle=curl_init('http://www.google.com/'); 
curl_setopt($handle, CURLOPT_VERBOSE, true); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($handle, CURLOPT_STDERR,$f = fopen($verbosPath, "w+")); 
curl_exec($handle); 

fclose($f); 
?>