Ich versuche nur, ein PHP-Skript mit einem Cron-Job in CPanel auszuführen - ist dies die richtige Syntax:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Ich erhalte keine E-Mail-Benachrichtigungen, dass ein Cron abgeschlossen wurde. Muss ich mit der PHP-Datei etwas Spezielles tun?
Antworten:
Im Crontab-System:
/usr/bin/php
ist PHP - Binär - Pfad (anders in einigen Systemen ab: freebsd/usr/local/bin/php
, Linux:/usr/bin/php
)/home/username/public_html/cron/cron.php
sollte dein PHP-Skriptpfad sein/dev/null
sollte cron Ausgabe sein, zB:/home/username/stdoutx.txt
So können Sie Ihren Cron überwachen, indem Sie die Cron-Ausgabe anzeigen
/home/username/stdoutx.txt
quelle
Ich habe diesen Befehl verwendet, um den Cron-Job dafür zu aktivieren.
auf Godaddy Server, und es funktioniert gut.
quelle
-q
steht?-q
ist für Quiet - Modus unterdrückt HTTP - Header - Ausgang>/dev/null
verhindert, dass cron Mails verschickt.Meiner Meinung nach ist es besser, das
php
Skript selbst zu erstellen, um sich um die Protokollierung zu kümmern, als nur etwas an cron auszugebenquelle
>/dev/null 2>&1
am Ende .../path/to/file.php > /dev/null
wird es still sein.Dies ist der einfachste Weg:
php -f /home/your_username/public_html/script.php
Wenn Sie die Skriptausgabe in einer Datei protokollieren möchten, fügen Sie diese am Ende des Befehls hinzu:
>> /home/your_username/logs/someFile.txt 2>&1
quelle
Das ist der Weg:
quelle
Diese Cron-Linie funktionierte für mich auf Hostgator VPS mit cpanel.
quelle
Ich hatte Probleme mit / usr / bin / php auf CPanel, da es als "cgi-fcgi" -Binärdatei und nicht als "cli" kompiliert ist. Versuchen Sie es mit / usr / local / bin / php oder verwenden Sie stattdessen 'php', da es ohnehin das erste im Pfad ist:
Wenn Sie das Skript als ausführbare Datei ausführen möchten, geben Sie ihm + x Dauerwellen und verwenden Sie Folgendes als erste Zeile des Skripts:
quelle
Ich hoffe, Ihr Problem liegt auch bei Path & PHP Binary. Wenn Sie den Pfad gemäß den älteren Antworten festgelegt haben, verwenden Sie bitte php-cli anstelle des Befehls php, während Sie den Cron-Job ausführen.
Möglicherweise
php_sapi_name()
wird nicht zurückgegebencli
. Es gibt etwas anderes wiecgi-fcgi
etc. zurück./usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
Ich hoffe es wird helfen.
quelle
Dies funktioniert gut und sendet auch E-Mail:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Die folgenden zwei Befehle funktionieren ebenfalls einwandfrei, senden jedoch keine E-Mails:
/ usr / bin / php -f / home / Wie oben
php -f / home / Wie oben
quelle
Vorgeschlagen von Experten.
quelle
Es ist eigentlich sehr einfach,
quelle
Gehen Sie für domänenspezifische Multi-PHP-Cron-Jobs folgendermaßen vor :
Ersetzen Sie im obigen Beispiel "ea-php56" durch die PHP-Version, die der Domain zugewiesen ist, die Sie verwenden möchten.
Hoffe das hilft jemandem.
quelle