2012-10-23 19 views
5

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

+1

Haben Sie einige relative Pfade in PHP-Code, die Sie über Cron ausführen möchten, vielleicht einige enthält? – Develoger

+0

können Sie Ihren vollständigen Befehl von Cron Job veröffentlichen? – alan978

+0

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. –

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.