[php] roznica w konfiguracji

0

Witam.
Mam dzialajacy skrypt php ktory dziala bez zarzutow na jednym serverze. Teraz server zmieniam, i na drugim juz chodzi nieco gorzej, msyle ze wynika to z innej konfiguracji php. Chcialbym abyscie podpowiedzieli mi co dokladnie moze to powodowac. Fragment skryptu o ktory sie rozchodzi wyglada tak

	header('Pragma: no-cache');      
	header('Content-type: application/x-unknown; name="plik.exe"');
	header('Content-Disposition: attachment; filename="plik.exe'); 
	header('Content-Length: ' . filesize('plik.exe'));


	if ($fp = fopen('plik.exe', 'rb'))
    	{
        	flock($fp, 1);
	        echo(fread($fp, filesize('plik.exe')));
	        flock($fp, 3);
	        fclose($fp);
	}

                {JAKIS FRAGMENT KODU}
        	

skrypt ten sluzy do tego aby uzytkownik pobral plik.exe. No i teraz tak na maszynie na ktorej dziala obecnie jest tak, ze kiedy wyskoczy okienko (np w IE) "czy chcesz pobrac plik ? yes/no" i uzytkownik kliknie NIE to {JAKIS FRAGMENT KODU} NIE jest wykonywany. To mi sie podoba i jest ok. Ale na serwerze na ktory sie przenosze {JAKIS FRAGMENT KODU} jest wykonywany niezaleznie od tego czy uzytkownik w rzeczywistosci pobierze plik, czy przerwie w polowie, albo w ogole kliknie NO (ze go nie chce pobrac).
wersja php na serwerze 1, na ktoym wszystko dziala OK to 4.3.11 a ta na serwerze 2 na ktorym juz nie dziala tak jak ja chce to 4.3.9. Obstawiam roznice w konfiguracji. Prosze, powiedzcie mi dokladnie o co chodzi. Z gory dzieki za pomoc.

0

taka wskazówka tylko:

  1. Użyj readfile
  2. Użyj flush(); przed tym {JAKAŚ TAM CZĘŚĆ KODU}
  3. Sprawdź wynik funkcji ignore_user_abort() i porównaj na obydwu serwach
    Po więcej info na temat powyższych rozwiązań odsyłam do manuala.

1 użytkowników online, w tym zalogowanych: 0, gości: 1