|   | php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login | 
| 
 PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits              [2010-11-04 19:55 UTC] cataphract@php.net
 
-Assigned To:
+Assigned To: cataphract
  [2010-11-04 19:55 UTC] cataphract@php.net
  [2010-11-04 19:57 UTC] cataphract@php.net
 
-Package: cURL related
+Package: Streams related
  [2010-11-05 02:29 UTC] cataphract@php.net
  [2010-11-05 02:33 UTC] cataphract@php.net
 
-Status: Assigned
+Status: Closed
  [2010-11-05 02:33 UTC] cataphract@php.net
  [2010-11-05 11:55 UTC] pajoye@php.net
 
-Status: Closed
+Status: Assigned
  [2010-11-05 11:55 UTC] pajoye@php.net
  [2010-11-05 19:54 UTC] cataphract@php.net
 
-Status: Assigned
+Status: Closed
  [2010-11-05 19:54 UTC] cataphract@php.net
 | |||||||||||||||||||||||||||
|  Copyright © 2001-2025 The PHP Group All rights reserved. | Last updated: Fri Oct 31 03:00:01 2025 UTC | 
Description: ------------ If I call: $fh = fopen('/tmp/yahoo.html', 'xb'); $ch = curl_init('http://www.yahoo.com/'); curl_setopt($ch, CURLOPT_FILE, $fh); then the last line will fail with the misleading fopencookie-message. I need to use 'xb' and not 'wb', to ensure that just 1 script instance writes into that file - please see more info here: http://stackoverflow.com/questions/4096470/php-curl-curl-setopt-fopencookie-failed Test script: --------------- <?php #phpinfo(); $fh = fopen('/tmp/yahoo.html', 'xb'); if ($fh) { $ch = curl_init('http://www.yahoo.com/'); curl_setopt($ch, CURLOPT_FILE, $fh); # XXX the line 6 curl_setopt($ch, CURLOPT_HEADER, FALSE); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); #curl_setopt($ch, CURLOPT_COOKIEJAR, '/dev/null'); #curl_setopt($ch, CURLOPT_COOKIEFILE, '/dev/null'); #curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); #curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); curl_exec($ch); if(!curl_errno($ch)) { $info = curl_getinfo($ch); echo 'Took '.$info['total_time'] . 's to send a request to '.$info['url']; } curl_close($ch); fclose($fh); } else { echo 'Can not open /tmp/yahoo.html'; } ?> Expected result: ---------------- I expect the script create the file /tmp/yahoo.html on the 1st run and put the downloaded content into it. Actual result: -------------- Nov 4 12:55:19 centos httpd: PHP Fatal error: curl_setopt() [<a href='function.curl-setopt'>function.curl-setopt</a>]: fopencookie failed in /var/www/html/proxy3.php on line 6 And the file is sero-sized: afarber@centos:html> ls -alZ /tmp/yahoo.html -rw-r--r-- apache apache user_u:object_r:httpd_tmp_t /tmp/yahoo.html