Hallo.
ich hab ein Problemchen.
Mein PHP4 Script verarbeitet eine Textdatei, die mitlerweile
recht gross ist.
Jetzt ist ja in der PHP.INI aus sicherheitsgruenden
der max execution timeout auf 60 sekunden gesetzt.
Also entweder die einzulesende Textdatei ist jenseits der 3stelligen MB Marke, dein Server langsamer als 100 MHz oder das Script ist schlecht programmiert (soll keine Beleidigung sein, ich kenne nur die Voraussetzungen nicht und mutmaße deshalb).
Wenn du etwas konkreter das Problem beschreiben könntest, vielleicht mit Code-Stellen bzw. Teile des Inhalts der einzulesenden Textdatei, könnte man das Problem mal genauer betrachten.
wie mach ich das denn ? gibts in PHP4 threads?
Ich würde erstmal einen anderen Lösungsweg suchen.
oder … wie sag ich meinem script, dass es nur
40 sekunden laufen soll und dann unterbrechen und
dann sich erneut aufrufen und den rest abarbeiten…
meine idee war…
script laeuft 40 sekunden.
dann schreibt es die aktuell gelesene zeilennummer
in eine DB und macht einen refresh und setzt dort wieder auf.
Ein Filestream kennt prinzipiell keine Zeilen, da die Zeilenschaltung auch nur ein Zeichen ist. Mit fseek() kann man nur auf einen offset springen, der in Zeichen vom Dateianfang gezählt wird.
Der Lösungsansatz ist aber sicher nur eine Notlösung, da dann das Script mehrfach gestartet werden muss.
gibts da noch elegantere loesungen?
Mich würde erstmal der Code interessieren, ich kann mir nicht so recht vorstellen, dass es nicht „in einem rutsch“ geht.
Gruß, Bernd