2010-08-13 37 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); 
?>