Der Martin: PHP während der Ausführung stoppen

Beitrag lesen

Hallo Tom,

das könnte ein längeres Thema werden. :-)

aber zumindest aus meiner Sicht fruchtlos, oder wenn nützlich, dann nur aus akademischer Sicht.

PHP hat ein paar Schalter, die den User-Abort steuern.

Genau, das hatte ich ja auch schon angesprochen - okay, nicht die Einstellung in der php.ini, sondern die Funktion gleichen Zwecks, mit der das Script das selbst regeln kann.

Wenn Du nur lesend auf Daten zugreifst (und rechnest) ist das Ganze auch unkritisch. Wenn Du aber auch Daten schreibst, darf dein Script den Abbruch aber erst an einer definierten Stelle durchführen. Sonst hast Du nachher inkonsistente Daten.

Richtig. Das heißt, man darf solche Turnübungen nicht mit jedem x-beliebigen Script machen, sondern muss es ein bisschen "domestizieren".

Wenn man das sowieso tun muss, dann kann man aber auch gleich auf eine zyklische Abfrage von connection_aborted() setzen und auf das Rumhampeln mit PIDs, Signals und kill-Aufrufen verzichten.

Weiteren Einfluss hat auch, ob du die Ausgabebuffer ausgeschaltet hast beim Scriptstart.

Das hat einen Einfluss darauf, ob der PHP-Prozess mit dem Script vom OS gewaltsam beendet wird, nachdem die Verbindung getrennt wurde. Aber auch nur dann, wenn das Script so freundlich ist, etwas auf stdout zu schreiben. Tut es das nicht, ist auch die Pufferung egal.

Immer eine Handbreit Wasser unterm Kiel
 Martin

--
Wenn ich den See seh, brauch ich kein Meer mehr.