PHP im Hintergrund?

  • Themenstarter Themenstarter webraccoon
  • Beginndatum Beginndatum
W

webraccoon

Hallo Gemeinde,

kennt jemand eine Möglichkeit, PHP im Hintergrund auszuführen?
Sicher ist das mit irgendwelchen Cronjobs möglich, doch meine Ausführung soll auf User Eingabe hin funktionieren. Denke da an ein Newletter-Versand.

Hat jemand einen Ansatz? Ich benutze Win2003 und IIS.

webraccoon
 
Nein, ganz so ausgefallen nicht.

In einem CMS hat der User die Möglichkeit Newsletter zu versenden.
Aber anstatt er jetzt auf die Beendigung des Versands wartet, und das kann durchaus lange dauern, kann er sich wieder auf andere Sachen konzentrieren.

Also mit klick auf Absenden sollte ein neuer Prozess oder etwas ähnliches angestossen werden, der im Hintergrund dei Emails versendet.

webraccoon
 
Das geht nicht, denn wenn der Server arbeitet, dann arbeitet er eben ;)

Die einzige Möglichkeit wäre, wenn du für den Newsletterversand auf einen anderen Server ausweichst.
 
Timbonet hat gesagt.:
Das geht schon, du mußt das einfach nur in einem neuen Fenster, Frame oder ähnlichem öffnen..
Eine andere Möglichkeit fällt mir auch nicht ein.
Du könntest das Frame ja versuchen "unsichtbar" zu machen, sprich die Breite/Höhe auf 0 setzen oder so, wobei man das wohl nie ganz wegbekommen dürfte.
Wenn es aber am unteren Rand der Seite ist fällt das eh keinem auf. ;)


byez
 
Ja, das wäre evtl. eine Möglichkeit. Wenn das Fenster geschlossen würde, beendet sich auch PHP, richtig?

webraccoon
 
Der Vorgang sollte noch abgearbeitet werden.
Es wird ja keine Meldung wie "Ich schließe jetzt den Browser, breche alle Vorgänge ab" gesendet. ;)


byez
 
hello,
du gibst dir deine antworten ja eh quasi selber...
1.) in php gibts die option das ein script auch weiter ausgeführt wird, wenn der browser geschlossen is ( musst bitte suchen)
2.) bau dir ein script das dir deine newsletter versendet
3.) mit dem taskplaner (so heisst der chronjob unter windows) richtest dir ein wann das script gestartet werden soll

viel spass..

hoagie
 
sagg hat gesagt.:
Der Vorgang sollte noch abgearbeitet werden.
Es wird ja keine Meldung wie "Ich schließe jetzt den Browser, breche alle Vorgänge ab" gesendet. ;)
byez

FALSCH! PHP Merkt wenn der CLient nicht mehr zum Server verbunden ist.
Siehe im PHP Manual:
connection_status();
Connection_Aborted();

Benutze:
PHP:
Set_Time_Limit(0); // Deaktiviert Timeout
Ignore_User_Abort(True); // Script läuft weiter wenn User den Browser schließt
 
Zuletzt bearbeitet:
Zurück