Ich habe Cron-Job eingerichtet, es funktioniert ordnungsgemäß, aber wenn ich direkt die PHP-Datei (aus dem Pfad/URL) läuft es läuft, aber von Cron ist nicht. Jedoch stellte ich eine andere sehr einfache Datei ein, um sicherzustellen, dass mein Cron-Befehl/Pfad richtig eingestellt ist. Ich habe eine andere Datei erstellt und eine einfache PHP-Mail-Funktion verwendet, die erfolgreich ausgeführt wird. Bitte schlage mir die möglichen Bereiche vor. (Ich verwende Cpanel)Cron Job funktioniert nicht richtig in Cpanel
5
A
Antwort
7
Statt in cronjob Befehl setzen wie
php -f /path_to_script/script.php
Put-Befehl wie folgt:
curl http://domain.com/yourscript.php
wenn Sie die Ausgabe zu unterdrücken möchten, können Sie > /dev/null
am Ende hinzufügen.
So voll Befehl wäre:
curl http://domain.com/yourscript.php > /dev/null
hoffe, das hilft!
1
Als Alternative zu cURL können Sie Ihr Skript über einen textbasierten Browser aufrufen. Etwas wie folgt aus:
lynx -dump http://localhost/script.php
0
Sie sollten keine relativen Pfade haben - dazu gehören beide Dateien und Befehle. Zum Beispiel sollten Sie nicht nur cp
aufrufen, wenn Sie eine Datei kopieren möchten, sondern etwas wie /bin/cp
mit dem vollständigen Pfad zum Befehl. Um den vollständigen Pfad herauszufinden, können Sie which <cmd>
in der Befehlszeile ausführen.
Haben Sie einige relative Pfade in PHP-Code, die Sie über Cron ausführen möchten, vielleicht einige enthält? – Develoger
können Sie Ihren vollständigen Befehl von Cron Job veröffentlichen? – alan978
Versuchen Sie, PHP-Datei mit der Konsole (wie Putty) auszuführen und überprüfen Sie, ob irgendwelche Fehler vorliegen. Problem könnte auf include() oder require() Dateipfaden liegen. –