При запуске скрипта с заранее установленными значениями переменных удобнее передавать их в строке запуска задачи, чтобы не вносить каждый раз изменения в сам скрипт.
Для этого следует прописывать задачу cron в таком виде:
путь_к_интерпретатору -f путь_к_скрипту переменные_через_пробел
Пример:
/usr/local/bin/php -f /home/имя_хостинга/путь_к_скрипту/script.php 15 test 23
В самом скрипте в начале (со второй строчки) нужно добавить присваивание значений нужным переменным через переменную $argv
: $argv[1]
— первый параметр, $argv[2]
— второй и т. д.
Пример:
$а=$argv[1]; $some_text=$argv[2]; $age=$argv[3];
В данном примере после этих строк переменная $а
внутри скрипта будет равняться 15
, переменная $some_text
будет равна test
, а переменная $age
— 23
.
Если нужно задейтвовать настройки определённого хоста (сайта), то можно воспользоваться следующим вариантом:
путь_к_интерпретатору -с путь_к_ini_файлу_хоста -f путь_к_скрипту переменные_через_пробел
Пример:
/usr/local/bin/php -c /home/имя_хостинга/.system/php/www.имя_хоста.ini -f /home/имя_хостинга/путь_к_скрипту/script.php 15 test 23
Тот же пример для хоста example.su (расположен в хостинг-аккаунте example) с использованием версии 7.2 интерпретатора PHP
/usr/local/php72/bin/php -c /home/example/.system/php/www.example.su.ini -f /home/example/путь_к_скрипту/script.php 15 test 23