У меня есть файл PHP, который необходимо запустить из командной строки (через crontab). Мне нужно передать type = daily
в файл, но я не знаю как. Я попробовал:
php myfile.php?type=daily
, но вернулась эта ошибка:
Не удалось открыть входной файл: myfile.php? Type = daily
Что я могу сделать?
Существует 4 основных альтернативы, у обоих есть их причуды, , Метод 4 имеет много преимуществ от моего представления.
<час> ./script
сценарий оболочки , запускающийся #!/usr/bin/php
Метод 1: $argv
./script hello wo8844rld
// $argv[0] = "script", $argv[1] = "hello", $argv[2] = "wo8844rld"
вљ пёЏ Используя $argv, порядок параметрических усилителей очень важен.
<час>Метод 2: getopt ()
./script -p7 -e3
// getopt("p::")["p"] = "7", getopt("e::")["e"] = "3"
трудно использовать в соединении $argv
, потому что:
вљ пёЏ парсинг опций закончится в первой найденной неопции, что-либо, что следует, отбрасывается.
вљ пёЏ Только 26 параметрических усилителей как алфавит.
<час>Метод 3: Глобальная переменная Bash
P9="xptdr" ./script
// getenv("P9") = "xptdr"
// Существует 4 основных альтернативы, у обоих есть их причуды, , Метод 4 имеет много преимуществ от моего представления.
<час> ./script
сценарий оболочки , запускающийся #!/usr/bin/php
<час> Метод 1: $argv
[110] вљ пёЏ Используя $argv, порядок параметрических усилителей очень важен.
<час> Метод 2: getopt ()
[111] трудно использовать в соединении $argv
, потому что:
вљ пёЏ парсинг опций закончится в первой найденной неопции, что-либо, что следует, отбрасывается.
вљ пёЏ Только 26 параметрических усилителей как алфавит.
<час> Метод 3: Глобальная переменная Bash
[112] Те переменные могут использоваться другими программами, работающими в той же оболочке.
Они унесены, когда оболочка закрывается, но не, когда php программа завершается. Мы можем установить их постоянный в [1 110]!
<час> Метод 4: канал STDIN и stream_get_contents ()
Некоторые примеры передачи по каналу:
<час> ./script <<< "hello wo8844rld"
// stream_get_contents(STDIN) = "hello wo8844rld"
<час> echo "hello wo8844rld" | ./script
// explode(" ",stream_get_contents(STDIN)) ...
<час> ./script < ~/folder/Special_params.txt
// explode("\n",stream_get_contents(STDIN)) ...
<час> echo params.json | ./script
// json_decode(stream_get_contents(STDIN)) ...
Мы можем передать очень длинные строки, массивы, json, конфигурация файл, содержащий строки параметров, это мощно.
Это могло бы работы similary с освобожденным () или fgets () путем чтения STDIN.
<час> SERVER["P9"] = "xptdr"
Те переменные могут использоваться другими программами, работающими в той же оболочке.
Они унесены, когда оболочка закрывается, но не, когда php программа завершается. Мы можем установить их постоянный в [1 110]!
<час>Метод 4: канал STDIN и stream_get_contents ()
Некоторые примеры передачи по каналу:
<час>./script <<< "hello wo8844rld"
// stream_get_contents(STDIN) = "hello wo8844rld"
<час> echo "hello wo8844rld" | ./script
// explode(" ",stream_get_contents(STDIN)) ...
<час> ./script < ~/folder/Special_params.txt
// explode("\n",stream_get_contents(STDIN)) ...
<час> echo params.json | ./script
// json_decode(stream_get_contents(STDIN)) ...
Мы можем передать очень длинные строки, массивы, json, конфигурация файл, содержащий строки параметров, это мощно.
Это могло бы работы similary с освобожденным () или fgets () путем чтения STDIN.
<час>