Po prostu próbuję uruchomić skrypt PHP za pomocą zadania cron w CPanel - czy to jest poprawna składnia:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Nie otrzymuję żadnych powiadomień e-mail z informacją, że cron został ukończony. Czy muszę zrobić coś konkretnego z plikiem PHP?
Odpowiedzi:
W systemie crontab:
/usr/bin/php
jest ścieżka php binarne (różne w niektórych systemach ex: freebsd/usr/local/bin/php
, Linux:/usr/bin/php
)/home/username/public_html/cron/cron.php
powinna być ścieżką do skryptu php/dev/null
powinno być wyjściem cron, np:/home/username/stdoutx.txt
Możesz więc monitorować swój cron, przeglądając dane wyjściowe crona
/home/username/stdoutx.txt
źródło
Użyłem tego polecenia, aby aktywować w tym celu zadanie cron.
na serwerze GoDaddy i działa dobrze.
źródło
-q
znaczy?-q
dotyczy trybu cichego , blokuje wyjście nagłówka HTTP>/dev/null
zatrzymuje wysyłanie wiadomości przez crona.właściwie uważam, że lepiej jest zrobić
php
skrypt tak, aby dbał o rejestrowanie, a nie tylko wyprowadzać coś do cronaźródło
>/dev/null 2>&1
na końcu .../path/to/file.php > /dev/null
, będzie milczeć.To najłatwiejszy sposób:
php -f /home/your_username/public_html/script.php
A jeśli chcesz zarejestrować wyjście skryptu do pliku, dodaj to na końcu polecenia:
>> /home/your_username/logs/someFile.txt 2>&1
źródło
To jest sposób:
źródło
Ta linia crona działała dla mnie na hostgatorze VPS przy użyciu cpanel.
źródło
Miałem problemy z używaniem / usr / bin / php na CPanel, ponieważ jest on skompilowany jako binarny "cgi-fcgi", a nie "cli". Spróbuj użyć / usr / local / bin / php lub, ponieważ i tak jest pierwszy w ścieżce, po prostu użyj zamiast tego `` php '':
Jeśli chcesz uruchomić skrypt jako plik wykonywalny, nadaj mu + x perms i użyj następującego jako pierwszego wiersza skryptu:
źródło
Mam nadzieję, że problem dotyczy również plików binarnych path i php. Jeśli naprawiłeś ścieżkę zgodnie ze starszymi odpowiedziami, użyj php-cli zamiast polecenia php podczas uruchamiania zadania cron.
Możliwe, że
php_sapi_name()
nie wracacli
. Zwraca coś innegocgi-fcgi
itp./usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
Mam nadzieję, że to pomoże.
źródło
Działa to dobrze, a także wysyła e-mail:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Poniższe dwa polecenia również działają dobrze, ale nie wysyłają wiadomości e-mail:
/ usr / bin / php -f / home / Tak samo jak powyżej
php -f / home / Tak samo jak powyżej
źródło
Sugerowane przez ekspertów.
źródło
W rzeczywistości jest to bardzo proste,
źródło
W przypadku zadania Multi PHP Cron dla określonej domeny wykonaj następujące czynności:
W powyższym przykładzie zamień „ea-php56” na wersję PHP przypisaną do domeny, której chcesz używać.
Mam nadzieję, że to komuś pomoże.
źródło