Script wird nach kurzer Zeit zum Download angeboten

Also Plain SQL sieht es so aus:

SQL:
update
 tablename
   set
   field1 = IF(field1 IS NULL OR field1 = 0, field1, unix_timestamp(date_add(from_unixtime(field1), INTERVAL 5 YEAR))),
   field2 = IF(field2 IS NULL OR field2 = 0, field2, unix_timestamp(date_add(from_unixtime(field2), INTERVAL 5 YEAR)))

und dauerte 34 Sek.
222.714 rows affected
 
Also ist das Updaten nicht das Problem. Hast du mal versucht, mit nem Profiler rauszufinden, wo es hakt? Da muss man ja nicht unbedingt alle Datensätze updaten, es genügen so 100 um herauszufinden, wo der Schuh drückt. Kennst du mein Tutorial zu diesem Thema?
 
Kennst du mein Tutorial zu diesem Thema?

nope, noch nicht :D

Ich hab mir auch schon überlegt das mit AJAX zu machen, für jede Row eine Ausgabe per AJAX holen. Dann müsste es doch auch funktionieren...
 
Zuletzt bearbeitet:
Nur würd ich das (bei 200.000 Einträgen) sicherlich nicht Eintrag für Eintrag machen. Sondern in Paketen - zu zB 1.000Stück - abholen, bearbeiten und dann im Paket wieder abschicken. Der größte Zeitfresser wäre in dem Fall ja der ganze Web-Krams. (Obwohl ich den Ajax-Ansatz echt nicht verstehe.. Dann kann man es auch rein in php machen - performanter)

Und: Deine foreach-Schleife ist genau der Ansatz für ein rekursives externes php-Script, bei dem die Laufzeit die "Anzahl pro Durchgang" limitiert. Dann sind es eben bei 2 Minuten zB 2.500 Einträge und schwupps, ruft sich dieses Script wieder auf, bis es bei count() angekommen ist und bricht dann ab. Ausgaben kannst Du per POST mitschleifen und zB am Ende in eine Textdatei schreiben, die Du dann anzeigst.

mfg chmee
 
Zuletzt bearbeitet:
Hallo,

meiner Erfahrung nach ist es nicht der Apache der aussteigt sondern PHP selbst. Aus irgend einen Grund scheint der Interpreter abzustürzen dadurch wird das Script zum Download angeboten, da ein Browser mit dem Mime Type text/php nichts anfangen kann.

Hast du mal die Logs geprüft, bzw. versucht die PHP Version zu aktualisieren?
 
In den Logs steht leider gar nichts, das war das erste was ich geprüft hab.

Ich verwende hier gezwungenermassen die PHP-Version 5.2.17, Zend-Server CE.
 
Zurück