|
|
|
| Вопрос след:
Запускаю скрипт PHP через командную строчку.
Как передавать значения переменных в командной строке скрипту и как потом вызвать в скрипте.
Я хочу например при запуске скрипт
php test.php
передать переменнную id со значением 588.
а потом ей воспользоваться в скрипте. | |
|
|
|
|
|
|
|
для: VL
(23.03.2010 в 04:02)
| | Руководство:
При написании консольных приложений на PHP вам доступны две переменные: $argc и $argv.
Первая - количество переданных аргументов плюс один (имя выполняемого скрипта).
Вторая - массив переданных аргументов, начиная с имени скрипта с нулевым индексом ($argv[0]).
|
| |
|
|
|
|
|
|
|
для: GeorgeIV
(23.03.2010 в 09:50)
| | Вот это врядли.
Всё же не столько две переменных, сколько два элемента массива $_SERVER. | |
|
|
|
|
|
|
|
для: Trianon
(23.03.2010 в 10:38)
| |
Предопределённые переменные
PHP Manual
--------------------------------------------------------------------------------
$argv
$argv — Array of arguments passed to script
|
Это не элементы массива $_SERVER, точнее это не всегда элементы массива $_SERVER :
Суперглобальный массив $_SERVER будет создан вместе с переменными argc и argv, если
variables_order включает "S". Если вы сконфигурировали интерпретатор таким образом, что
$_SERVER не создаётся, тогда, конечно, её не будет. Изменение заключается в том, чтобы
сделать argc и argv всегда доступными в CLI-версии, вне зависимости от variables_order. Как
уже было сказано, CLI-версия теперь всегда будет объявлять переменные $argc и $argv.
|
| |
|
|
|
|
|
|
|
для: GeorgeIV
(23.03.2010 в 12:55)
| | Неплохо было бы приводить ссылки на мануал в таких ситуакциях.
И как же можно, а главное - кому придет в голову конфигурировать интерпретатор PHP так, чтоб не создавался $_SERVERS[]?
Как отключить лексически уходящие за стандарт $argc и $argv - пожалуйста:
http://ru2.php.net/manual/en/reserved.variables.argc.php
http://ru2.php.net/manual/en/ini.core.php#ini.register-argc-argv | |
|
|
|