Запустите PHP-файл в задании cron с помощью CPanel
Я просто пытаюсь запустить PHP-скрипт с помощью задания cron в CPanel - это правильный синтаксис:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Я не получаю никаких уведомлений по электронной почте о том, что cron был завершен, нужно ли мне делать что-то конкретное с файлом PHP?
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
эта линия 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-fcgietc.
/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 / то же, что и выше
Comments