Запуск файла PHP в задании cron с использованием CPanel
Я просто пытаюсь запустить PHP script с помощью задания cron внутри CPanel - это правильный синтаксис:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
Я не получаю никаких уведомлений по электронной почте, в которых указано, что cron завершен, мне нужно что-то делать с файлом PHP?
Ответы
Ответ 1
В системе crontab:
-
/usr/bin/php
- это двоичный путь php (другой в некоторых системах ex: freebsd /usr/local/bin/php
, linux: /usr/bin/php
)
-
/home/username/public_html/cron/cron.php
должен быть вашим php script path
-
/dev/null
должен быть cron output, ex: /home/username/stdoutx.txt
Итак, вы можете контролировать свой cron, просматривая cron output /home/username/stdoutx.txt
Ответ 2
Я использовал эту команду для активации задания cron для этого.
/usr/bin/php -q /home/username/public_html/yourfilename.php
на сервере godaddy и его работоспособности.
Ответ 3
>/dev/null
останавливает cron от отправки писем.
на мой взгляд, лучше сделать php
script сам, чтобы заботиться о нем, а не просто выводить что-то в cron
Ответ 4
Это самый простой способ:
php -f /home/your_username/public_html/script.php
И если вы хотите записать вывод script в файл, добавьте его в конец команды:
>> /home/your_username/logs/someFile.txt 2>&1
Ответ 5
Это способ:
/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
Ответ 6
Эта линия cron работала для меня на хост-сервере VPS, используя cpanel.
/usr/bin/php -q /home/username/public_html/scriptname.php
Ответ 7
У меня были проблемы с использованием /usr/bin/php на CPanel, поскольку он скомпилирован как двоичный файл cgi-fcgi, а не "cli". Попробуйте использовать /usr/local/bin/php или, так или иначе, просто используйте вместо этого 'php':
php /path/to/script.php
Если вы хотите запустить script в качестве исполняемого файла, дайте ему + x perms и используйте следующую строку в качестве первой строки script:
#!/usr/bin/env php
Ответ 8
Я надеюсь, что ваша проблема связана с двоичным кодом 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
Надеюсь, это поможет.
Ответ 9
Это прекрасно работает и также отправляет электронную почту:
/usr/bin/php/home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
Следующие две команды работают нормально, но не отправляют электронную почту:
/usr/bin/php -f/home/То же, что и выше
php -f/home/То же, что и выше
Ответ 10
Предложено экспертами.
/usr/local/bin/php /home/username/public_html/path/to/cron/script
Ответ 11
Для специфичной для домена Multi PHP Cron Job сделайте вот так,
/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script
В приведенном выше примере замените "ea-php56" версией PHP, назначенной домену, который вы хотите использовать.
Надеюсь, это кому-нибудь поможет.
Ответ 12
Это на самом деле очень просто,
php -q /home/username/public_html/cron/cron.php