#26060 [Opn->Fbk]: Not closing download handles
by other posts by this author
Nov 6 2003 8:28PM messages near this date
#26060 [Fbk]: Not closing download handles
|
#26059 [NEW]: Call to __set() crashes Apache when setting array element!
ID: 26060
Updated by: sniper@[...].net
Reported By: datacompboy at mail dot ru
-Status: Open
+Status: Feedback
Bug Type: cURL related
Operating System: Win2003 adv server
PHP Version: 4.3.3
New Comment:
Simplify your script..drop the ob_* stuff totally and
don't use any external apps on the files.
Does it work then? (add the new script here too)
Previous Comments:
------------------------------------------------------------------------
[2003-10-31 12:42:18] datacompboy at mail dot ru
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 this bug report at http://bugs.php.net/?id=26060&edit=1
Thread:
datacompboy at mail dot ru
datacompboy at mail dot ru
|