In CPanel wird kein Cron-Job ausgeführt und es werden keine E-Mails gesendet

3450
Abhishek

Obwohl viele von uns viele Fragen zu Cron-Jobs gestellt haben, lassen Sie mich meine Frage stellen ...

Ich möchte regelmäßig ein PHP-Skript ausführen. Als cron-Befehl verwende ich:

php -q http://www.example.com/cron.php?action=getA 

Ich habe auch dieses probiert:

php -q /home/myuser/www.example.com/cron.php?action=getA 

Es wird nicht ausgeführt und sendet keine E-Mails. Ich habe die Mail-ID auf meine gMail-ID gesetzt . Was mache ich falsch?

0
Wenn Sie das Skript direkt ausführen, wird die E-Mail gesendet? Jane T vor 13 Jahren 0
In CPanel gibt es eine Option, um eine E-Mail-ID festzulegen. `Senden Sie jedes Mal eine E-Mail, wenn ein Cron-Job ausgeführt wird. less »Sie können cron jedes Mal eine E-Mail senden, wenn ein Befehl ausgeführt wird. Wenn Sie nicht möchten, dass eine E-Mail für einen einzelnen Cron-Job gesendet wird, können Sie die Befehlsausgabe wie folgt nach / dev / null umleiten: mycommand> / dev / null 2> & 1 Aktuelle E-Mail: mygmailid @ gmail.com` Abhishek vor 13 Jahren 0

2 Antworten auf die Frage

1
Jack Wade

Das, was Sie versuchen, funktioniert nicht, da Sie GET-Variablen nicht über die PHP-Befehlszeile übergeben können. Wenn Sie Fragezeichen in der Befehlszeile verwenden, müssen Sie die Fragezeichen entweder umschreiben oder die Zeichenfolge in Anführungszeichen setzen.

Das wird funktionieren:

wget 'http://www.example.com/cron.php?action=getA'

0
Adnan

Wie wäre es mit:

wget http://www.example.com/cron.php?action=getA 

Sind Sie sicher, dass Sie www.example.com als Pfad verwenden?

Führen Sie die folgenden Schritte in Ihrer cron.php aus

<?php // current directory echo getcwd() . "\n"; ?> 

Dadurch erhalten Sie das genaue Verzeichnis, in dem sich Ihre cron.php-Datei befindet, und die Verwendung von php -q in Ihrem cron.

Ich denke, Sie sollten auf cPanel so etwas verwenden:

php -q /home/myuser/public_html/cron.php?action=getA 
Ich habe auch "wget ​​http://www.example.com/cron.php?action=getA" ausprobiert. Aber keine Mails. :( Abhishek vor 13 Jahren 0
Führen Sie die Zeile aus, um den Ordnerpfad zu erhalten. Und dann mit PHP -q einbinden Adnan vor 13 Jahren 0
Sie wollten "php -q /home/myuser/pathtocronfile/cron.php" sagen? Ich habe das versucht. :( Bitte ausführlich antworten. Abhishek vor 13 Jahren 0
Als Cronbefehle habe ich folgendes versucht: wget /home/myuser/public_html/cron.php; php -q /home/ovsec/public_html/cron.php es funktioniert nicht. Bitte helfen Abhishek vor 13 Jahren 0