Ich konfrontiert sehr seltsames Problem auf meinem Hosting. Ich habe Skript und es kann wie dies ich dieses Skript benötigenPHP-Skript wird unendlich ausgeführt, wenn mit Cron aufgerufen
https://mywebsite.com/script.php
URL ausgelöst werden, um einmal in zwei Tagen durchgeführt werden.
Also habe ich Cron Job erstellt, genau wie mein Hosting-Provider mir geraten hat.
wget -O /dev/null -q 'https://mywebsite.com/script.php'
Es verwendet wget weil Skript zusätzliche Skripte erfordert - so mein Hosting-Provider sagte, dass ich Aufgabe wie diese erstellen müssen.
Es funktionierte gut für etwa einen Monat, aber für ein paar Wochen habe ich ein Problem. Aus irgendeinem Grund kann ich und mein Hosting-Provider nicht verstehen, wenn ich Skript durch Öffnen von URI im Browser ausführen - Skript einwandfrei ausgeführt (ich weiß es wegen E-Mails, die in 4 verschiedenen Ausführungsschritten gesendet werden). Aber wenn Cron diese Skripte ausführt, wird es unendlich ausgeführt - so bekomme ich weiterhin E-Mails für viele Male, bis ich das Skript umbenenne oder lösche.
Script Ausführungszeit ist ca. 2-3 Minuten. Also, wenn ich es von der URL laufen lasse und bis zum Ende warte - bekomme ich einen Fehler auf dem Bildschirm, dass die Anfragezeit (60 Sek.) Vorbei ist. Aber ich weiß, dass Skripte bis zum letzten Schritt gut funktionieren.
Was ist das Problem?
Setzen Sie 'set_time_limit (60 * 10)' und stellen Sie sicher, dass Ihr Cron nach dem Fehler nicht erneut versucht wird – Justinas
Klingt wie Ihr Skript hat keine Endung und der Browser stoppt nur, weil es maximale Ausführungszeit erreicht. Kannst du deinen Code zeigen? – chris85
* Also, wenn ich es von URL laufen und warten bis es fertig ist - ich bekomme Fehler auf dem Bildschirm, dass die Zeit der Anfrage (60 Sek.) Vorbei ist, es bedeutet, dass es ein Problem im Skript gibt. es stoppt nur wegen Anfrage Timeout. Also müssen Sie Ihren Code zeigen –