Hallo allen,
Ik heb een force download script geschreven die een bestand van rond de 8 MB terugstuurt met de juiste HTTP headers, zodat je een download scherm te zien krijgt.
De code:
Onder IIS werkt dit perfect. Bij onze hoster XS4ALL die apache Apache/1.3.27 draaien krijg ik elke keer een Internal server error 500. In de log zie ik daar staan Premature end of script headers. (volgens mij draait PHP als CGI module bij XS4all maar dat weet ik niet zeker)
Ik ben erachter gekomen dat de error zich voordoet bij de regel:
readfile($download_file);
Ik heb al geprobeerd fpassthru te gebruiken, maar dit geeft dezelfde error.
Iemand enige ervaringen met dit probleem?
Ik heb een force download script geschreven die een bestand van rond de 8 MB terugstuurt met de juiste HTTP headers, zodat je een download scherm te zien krijgt.
De code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| $download_file = 'downloads/' . $row["DownloadSubDir"] . '/' . $row["DownloadFile$lang"]; if (file_exists($download_file)) { // Stuur juiste HTTP headers header("Content-Type: application/octet-stream"); // Workaround voor IE 5.5 bug hier mag geen attachment worden meegegeven if (strstr($HTTP_SERVER_VARS["HTTP_USER_AGENT"], "MSIE")) { header("Content-Disposition: filename=" . $row["DownloadFile$lang"] . "%20"); } else { header("Content-Disposition: attachment; filename=" . $row["DownloadFile$lang"]); } header("Connection: close"); header("Pragma: no-cache"); //$fn = fopen($download_file, "rb"); readfile($download_file); //fpassthru($fn); //fclose($fn); exit; } else { echo 'file bestaat niet'; } |
Onder IIS werkt dit perfect. Bij onze hoster XS4ALL die apache Apache/1.3.27 draaien krijg ik elke keer een Internal server error 500. In de log zie ik daar staan Premature end of script headers. (volgens mij draait PHP als CGI module bij XS4all maar dat weet ik niet zeker)
Ik ben erachter gekomen dat de error zich voordoet bij de regel:
readfile($download_file);
Ik heb al geprobeerd fpassthru te gebruiken, maar dit geeft dezelfde error.
Iemand enige ervaringen met dit probleem?
It’s nice to be important but it’s more important to be nice