Запустите файл PHP в задании cron с помощью CPanel - PullRequest
97 голосов
/ 07 сентября 2011

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

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

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

Ответы [ 12 ]

102 голосов
/ 13 марта 2012

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

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

на сервере Godaddy, и он работает нормально.

63 голосов
/ 07 сентября 2011

В системе crontab:

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

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

29 голосов
/ 07 сентября 2011

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

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

18 голосов
/ 06 мая 2015

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

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

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

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

15 голосов
/ 26 января 2014

Это путь:

/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
11 голосов
/ 13 апреля 2016

Эта линия cron работала для меня на VPS хостгатора с использованием cpanel.

/usr/bin/php -q /home/username/public_html/scriptname.php
9 голосов
/ 21 января 2016

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

php /path/to/script.php

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

#!/usr/bin/env php
6 голосов
/ 02 августа 2016

Я надеюсь, что ваша проблема связана с бинарными путями и 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

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

3 голосов
/ 05 октября 2017

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

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

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

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

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

2 голосов
/ 30 июля 2018

Предложено экспертами.

/usr/local/bin/php /home/username/public_html/path/to/cron/script
...