it-swarm.com.de

Führen Sie ein PHP Datei in einem Cron-Job mit CPanel

Ich versuche gerade, 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 Datei PHP etwas unternehmen?

90
Zabs

Im Crontab-System:

  • /usr/bin/php ist ein binärer php-Pfad (in einigen Systemen unterschiedlich: ex: freebsd /usr/local/bin/php, linux: /usr/bin/php)
  • /home/username/public_html/cron/cron.php sollte Ihr PHP-Skriptpfad sein
  • /dev/null sollte eine cron-Ausgabe sein, zB: /home/username/stdoutx.txt

So können Sie Ihren cron überwachen, indem Sie die cron-Ausgabe /home/username/stdoutx.txt anzeigen.

62
Somy A

Ich habe diesen Befehl verwendet, um den Cron-Job dafür zu aktivieren.

/usr/bin/php -q /home/username/public_html/yourfilename.php

auf Godaddy-Server, und es funktioniert gut.

101
Pank

>/dev/null stoppt cron das Senden von Mails.

meiner Meinung nach ist es besser, das php-Skript selbst so zu gestalten, dass es sich um die Protokollierung kümmert, anstatt nur etwas in cron auszugeben

29
k102

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 dies am Ende des Befehls ein:

>> /home/your_username/logs/someFile.txt 2>&1

17
Emmanuel

Das ist der Weg:

/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
15
Asi

Diese Cron-Linie funktionierte für mich auf Hostgator VPS mit Cpanel.

/usr/bin/php -q /home/username/public_html/scriptname.php
9
Mike Volmar

Ich hatte Probleme mit/usr/bin/php auf CPanel, da es als "cgi-fcgi" -binär und nicht als "cli" kompiliert wird. Versuchen Sie es mit/usr/local/bin/php oder verwenden Sie 'php', da es ohnehin an erster Stelle steht.

php /path/to/script.php

Wenn Sie das Skript als ausführbare Datei ausführen möchten, geben Sie ihm + x Perms und verwenden Sie als erste Zeile des Skripts Folgendes:

#!/usr/bin/env php
8
BenKennish

Ich hoffe, Ihr Problem liegt auch bei Pfad & php-Binärcode. Wenn Sie den Pfad gemäß älteren Antworten festgelegt haben, verwenden Sie bitte php-cli anstelle des Befehls php, während Sie cron job ausführen.

Möglicherweise gibt php_sapi_name() keine cli zurück. Es gibt etwas anderes wie cgi-fcgi usw. zurück.

/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null

Ich hoffe es wird helfen.

5
Lakin Mohapatra

Dies funktioniert gut und sendet auch E-Mail:

/usr/bin/php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php

Die folgenden zwei Befehle funktionieren ebenfalls gut, senden jedoch keine E-Mails:

/usr/bin/php -f / home/Wie oben

php -f / home/Wie oben

2
Sajjad

Es ist eigentlich sehr einfach,

php -q /home/username/public_html/cron/cron.php
1

Von Experten vorgeschlagen.

/usr/local/bin/php /home/username/public_html/path/to/cron/script
1
Ali Akram

Für domänenspezifische Multi PHP Cron-Jobs machen Sie Folgendes:

/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script

Ersetzen Sie im obigen Beispiel "ea-php56" durch die Version PHP, die der Domäne zugeordnet ist, die Sie verwenden möchten.

Hoffe das hilft jemandem.

0
Anjana Silva