Safari 3.0 timeout überlisten (php)

UDH5

Aktives Mitglied
Thread Starter
Dabei seit
05.07.2007
Beiträge
429
Reaktionspunkte
28
Weiß schon jemand wie man mit php den timeout im Safari 3 überlisten kann?

Z.B. für ein Backup, dass über 1 GB Daten (bei wachsendem Internet-Auftritt hört es da auch nicht auf) sammeln und komprimieren soll. Ich meine nicht SafariNoTimeout - 1.1, dass sowieso noch nicht bei IntelMacs funktioniert. Dass ein ahnungsloser Administrator, der zufällig Safari 3.0 benutzt, etwas installieren muss, wäre keine Lösung.

Mit dem alten Safari ging es, wenn man ihm erstmal ein Leerzeichen zum Fraß vorgeworfen hat und die erfolgte Ausgabe mit session_write_close() dann zurückgenommen hat:

<?php
...
print ' ';
// ...
// Funktionsaufruf zum Sammeln (kann unendlich lang dauern)
// ...
session_write_close();
// Nächster Seitenaufruf mit entsprechenden $_GET Parametern
header ('refresh: 0; url='.$_SERVER['PHP_SELF'].'?...
...
print ' ';
// ...
// Aufruf eines Pearl-Scripts zum Komprimieren des Backup-Ordners (kann auch unendlich lang dauern)
session_write_close();
header ('refresh: 0; url='.$cgi_path.'/tgz.pl?...
// Rückmeldung des Pearl-Scripts an das aufrufende php-Script: Backupdaten eingepackt
?>


Beim Safari 3.0 geht es nicht mehr, nach einer Minute bricht er kommentarlos einfach ab.

Beim ersten Schritt könnte ich das Datensammeln in kleinere Schritte aufteilen, aber im zweiten Schritt wartet der Browser auf das Pearl-Script, dass mit 'tar cpfz backupdir.tgz backup/' das backup zusammenpackt (standardmäßig safe_mode = On, Systembefehle werden an Pearl weitergereicht). Beim timeout arbeitet das Pearl-Script leider nicht mehr im Hintergrund weiter - das Archiv ist unvollständig.

Hat jemand zu diesem, zugegebenermaßen, exotischen Problem eine Idee?
 
Zuletzt bearbeitet:
Zurück
Oben Unten