Jau,
danke dir erstmal. bringt aber alles nichts. zwar konnte ich so schonmal einige fehler abfangen, aber der eigentliche bleibt weiterhin bestehen. Und zwar geht das Skript (ein Maitenences-script, nichts für die Öffentlichleit) einige paar links durch und schreibt sich ggf. Informationen in eine DB.
Ich weiß, vielleicht ist php nicht das richtige für so eine Aktion, allerdings bleibt z.Zt. keine andere Möglichkeit.
Zu sehen ist das Fehlerbild unter
http://personalpress.kanubox.de/ssnooper.php
Nach etwa 320 Sekunden Laufzeit bricht das Skript ab. Ohne fehlermeldung oder sonstige info.
Da der Fehler zwar immer nach min 300 Sekunden auftritt, dachte ich erst an einen Timeout. Da der Abbruch aber immer bei dem
file_get_contents($url, 0, $context)
abbricht, denke ich nicht mehr an einen Timeout, zumal
ignore_user_abort(true);
set_time_limit(0);
gesetzt sind.
Ob über den Browser oder über einen Cronjob aufgerufen, macht keinen Unterschied im Verhalten.
Ich habe folgende Deiner Vorschläge umgesetzt:
Und zwar
1. Setze ich ein flush() nach den echos, um ein evtl. Überlaufen des Buffers zu vermeiden. Auch dachte ich 2. daran, dass evtl. der Errorbuffer von libxml überläuft, weshalb ich dein
libxml_clear_errors();
libxml_use_internal_errors(true);
umsetze.
3. Habe ich das timeout für file_get_contents aktiviert, was wie oben gesagt, zwar einige Fehler behoben hat, diesen speziellen jedoch noch nicht.
4. ich habe auch das $doc = null umgesetzt, warum machst du das?
Hat es einen Sinn, dass du dem file_get_contents-String einen leeren String mit ."" hinzufügst?
Die ErrorLog, die ich vom Provider zur Verfügung gestellt bekommen, bleiben leer.
Ich hoffe, du hast noch eine Idee.
Grüße,
ehw