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



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



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


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

562   10  

10 ответов:

в системе 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

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

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

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

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

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

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

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

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

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

вот так:

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

эта линия 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 etc.

/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 / то же, что и выше

Полагают Эксперты.

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

Comments

    Ничего не найдено.