Мне удалось создать кронтаб,
например, * * * * * php /my/directory/file.php
Я хочу передать переменную из этого crontab, чтобы прочитать ее внутри file.php
Как мне это сделать?
Благодарю.
Имейте в виду, что запуск PHP из оболочки полностью отличается от запуска в среде веб-сервера. Если вы еще не закончили программирование в командной строке, вы можете столкнуться с некоторыми неожиданностями.
Тем не менее, обычным способом передачи информации в команду является ее размещение в командной строке. Если вы это сделаете:
php /my/directory/file.php "some value" "some other value"
Затем в вашем скрипте $argv[1]
будет установлено значение "some value"
а $argv[2]
будет установлено "some other value"
. ( $argv[0]
будет установлено в "/my/directory/file.php"
).
Когда вы выполняете скрипт PHP из командной строки, вы можете получить доступ к счету переменной из $argc
и действительным значениям в массиве $argv
. Простой пример.
Рассмотрим test.php
<?php printf("%d arguments given:\n", $argc); print_r($argv);
Выполнение этого с использованием php test.php abc
:
4 arguments given: Array ( [0] => test.php [1] => a [2] => b [3] => c )
Могу ли я добавить к ответам $argv
что для более сложных параметров командной строки вы можете использовать getopt()
: http://www.php.net/manual/en/function.getopt.php