Как передать $ _GET переменные к Сценарию PHP через командную строку?

Я понимаю, что некоторым образом "обхожу" вопрос, но я не уверен, что Вы уже оценили альтернативные подходы.

Альтернативный подход/предложение:

  • можно создать псевдоним к доле
  • D&D псевдоним в Систему prefereces-> Учетные записи-> объекты Входа в систему
  • можно соединить и отметить, "помнят пароль" опция сохранить его в Вас брелок для ключей входа в систему

Таким образом, Вам автосмонтируют долю на входе в систему, именно это Вы хотели, я надеюсь :)

Обратите внимание, что это знает о бэкенде аутентификации, который Вы используете, это - общее решение с этой точки зрения.

Кроме того, я экспериментировал, что можно избежать создания псевдонима (который довольно ужасен мне), если можно объявить доле самбы через Добрый день; если это - Вы, может D&D доля, не имея необходимость создавать псевдоним.

15
задан 7 March 2015 в 01:38
3 ответа

Какой двоичный файл PHP Вы используете? CLI или CGI? Я подозреваю, что Вам нужна версия CGI двоичного файла для PHP для надлежащей обработки, принимают переменные среды и данные POST, если Вы передаете это.

php-cgi двоичный файл реализует интерфейс CGI, который позволяет Вам передавать параметры командной строке:

php-cgi -f index.php left=1058 right=1067 class=A language=English

Которые заканчиваются в $_GET:

Array
(
    [left] => 1058
    [right] => 1067
    [class] => A
    [language] => English
)

Можно хотеть читать о том, как CGI работает так, можно реализовать это в веб-сервере.

Касательно: RFC3875

30
ответ дан 2 December 2019 в 20:46

Согласно Википедии, ответ должен установить QUERY_STRING переменная среды:

QUERY_STRING='user=foo&pass=bar&left=1234' php-cgi index.php

или на отдельных шагах:

export QUERY_STRING='user=foo&pass=bar&left=1234'
php-cgi index.php

Это работает, если Вы используете php-cgi команда, потому что это - часть спецификации CGI. Дежурное блюдо php команда игнорирует эту переменную, но Ваш сценарий мог бы использовать ее.

4
ответ дан 2 December 2019 в 20:46

Если Вы передаете php script.php test=asdf

$result = parse_args($argv,$argc,$help);
print_r($result);

При передаче его STDIN необходимо было бы считать STDIN и проанализировать заголовки сами. REQUEST_URI содержал бы данные, в которых Вы нуждаетесь, и Вы могли передать это.

1
ответ дан 2 December 2019 в 20:46
  • 1
    мне нужны переменные, чтобы быть доступным в $_GET как они - когда PHP используется под Apache. –  Nathan Osman 3 October 2010 в 09:20
  • 2
    Все хорошо и хороший, пока кто-то не посещает /index.php?test=asdf;rm%20-rf%20/ –  danlefree 3 October 2010 в 09:54
  • 3
    @dan: не волнуйтесь, мой веб-сервер достаточно умен для обработки этого. –  Nathan Osman 3 October 2010 в 10:30

Теги

Похожие вопросы