Запуск файла PHP в задании cron с использованием CPanel

Я просто пытаюсь запустить PHP-скрипт с использованием задания cron внутри CPanel – это правильный синтаксис:

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

Я не получаю никаких уведомлений по электронной почте, в которых указано, что cron завершен, мне нужно что-то делать с файлом PHP?

В системе crontab:

  • /usr/bin/php – это двоичный путь php (в некоторых системах ex: freebsd /usr/local/bin/php , linux: /usr/bin/php )
  • /home/username/public_html/cron/cron.php должен быть ваш путь к скрипту php
  • /dev/null должен быть cron output, ex: /home/username/stdoutx.txt

Таким образом, вы можете контролировать свой cron, просматривая cron output /home/username/stdoutx.txt

Я использовал эту команду для активации задания cron.

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

на сервере godaddy, и его работающий штраф.

>/dev/null останавливает cron от отправки писем.

на мой взгляд, лучше сделать php скрипт сам заботиться о его регистрации, а не просто выводить что-то в cron

Это способ:

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

Это самый простой способ:

php -f /home/your_username/public_html/script.php

И если вы хотите записать вывод сценария в файл, добавьте его в конец команды:

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

Эта линия cron работала для меня на hostgator VPS, используя cpanel.

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

У меня были проблемы с использованием / usr / bin / php на CPanel, поскольку он скомпилирован как двоичный файл cgi-fcgi, а не «cli». Попробуйте использовать / usr / local / bin / php или, так или иначе, сначала используйте «php»:

 php /path/to/script.php 

Если вы хотите запустить скрипт как исполняемый файл, дайте ему + x perms и используйте следующую строку в качестве первой строки скрипта:

 #!/usr/bin/env php 

Надеюсь, ваша проблема связана с бинарностью path & php. Если вы исправили путь в соответствии с более старыми ответами, используйте php-cli вместо команды php во время выполнения задания cron.

Возможно, php_sapi_name() не возвращает cli . Его возвращение что-то другое, как cgi-fcgi и т. Д.

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

Надеюсь, это поможет.

Это отлично работает и также отправляет электронную почту:

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

Следующие две команды также работают нормально, но не отправляют электронную почту:

/ usr / bin / php -f / home / То же, что и выше

php -f / home / То же, что и выше