From:             datacompboy at mail dot ru
Operating system: Win2003 adv server
PHP version:      4.3.3
PHP Bug Type:     cURL related
Bug description:  Not closing download handles

Description:
------------
I tried to download file with curl, parse it with external app, show
output and kill temp file. But:
1. if php as isapi module - when several requests at one time some inputs
are locked! Filemon says that it frees by some cmd.exe after all runned
sub-processes already finished. Very strange!
2. if php as fastcgi - it often crashes with error in php_curl (all latest
dlls in system32 upgraded; php4ts only in c:\php, php4isapi also in c:\php
and no in c:\windows\system)
3. if php as cgi - all OK, except of when user cancelled download the
script terminated, but shotdown_procedure not called, so temp files left.

Reproduce code:
---------------
<?ob_start(); $url="http://some.site.com";;
  $oinfile = tempnam ("./", "URLIN");
  $infile = preg_replace("#.*[/\\\\](.*?)#","\$1",$oinfile);
  $ooutfile = tempnam ("./", "URLOU");
  $outfile = preg_replace("#.*[/\\\\](.*?)#","\$1",$ooutfile);
  register_shutdown_function(create_function('',
    "@unlink(\"$infile\"); @unlink(\"$outfile\"); @unlink(\"$oinfile\");
@unlink(\"$ooutfile\"); return 1;"));
  $inf = fopen($infile, "w");
  fwrite($inf, "<meta http-equiv=\"Content-Type\"
content=\"text/html\">\n");
  $ch = curl_init();
  curl_setopt ($ch, CURLOPT_URL, $url);
  curl_setopt ($ch, CURLOPT_FILE, $inf);
  $st=curl_exec ($ch);
  curl_close ($ch);
  fclose($inf);
  echo `filter.exe $lang $infile $outfile 2>&1`;
  ob_end_flush();
?>

Expected result:
----------------
No .tmp files not in windows\temp\ folder, not in script folder.

Actual result:
--------------
Some .tmp files left and in windows\temp, and in script folder.

-- 
Edit bug report at http://bugs.php.net/?id=26060&edit=1
-- 
Try a CVS snapshot (php4):  http://bugs.php.net/fix.php?id=26060&r=trysnapshot4
Try a CVS snapshot (php5):  http://bugs.php.net/fix.php?id=26060&r=trysnapshot5
Fixed in CVS:               http://bugs.php.net/fix.php?id=26060&r=fixedcvs
Fixed in release:           http://bugs.php.net/fix.php?id=26060&r=alreadyfixed
Need backtrace:             http://bugs.php.net/fix.php?id=26060&r=needtrace
Try newer version:          http://bugs.php.net/fix.php?id=26060&r=oldversion
Not developer issue:        http://bugs.php.net/fix.php?id=26060&r=support
Expected behavior:          http://bugs.php.net/fix.php?id=26060&r=notwrong
Not enough info:            http://bugs.php.net/fix.php?id=26060&r=notenoughinfo
Submitted twice:            http://bugs.php.net/fix.php?id=26060&r=submittedtwice
register_globals:           http://bugs.php.net/fix.php?id=26060&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=26060&r=php3
Daylight Savings:           http://bugs.php.net/fix.php?id=26060&r=dst
IIS Stability:              http://bugs.php.net/fix.php?id=26060&r=isapi
Install GNU Sed:            http://bugs.php.net/fix.php?id=26060&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=26060&r=float

Reply via email to