Что означает «EGPCS» в PHP? - PullRequest
       13

Что означает «EGPCS» в PHP?

12 голосов
/ 21 августа 2009

Я нашел следующий код в php.ini. что это значит?

А "регистры PHP" - что это?

; This directive describes the order in which PHP registers GET, POST, Cookie,
; Environment and Built-in variables (G, P, C, E & S respectively, often
; referred to as EGPCS or GPC).  Registration is done from left to right, newer
; values override older values.
variables_order = "EGPCS"

Ответы [ 3 ]

25 голосов
/ 21 августа 2009

Руководство по директиве может помочь вам немного больше: variables_order (цитирование):

Устанавливает порядок EGPCS (Окружение, Получить, Опубликовать, Cookie, и Сервер) переменная разбора. Например, если variable_order установлен в «SP», то PHP создаст суперглобальные $_SERVER и $_POST, но не создавать $_ENV, $_GET и $_COOKIE. Установка на «» означает, что суперглобальные переменные не будут установлены.

Также обратите внимание (снова цитируя):

Содержимое и порядок $_REQUEST также подпадает под действие этой директивы.

Полагаю, эта опция была важнее некоторое время назад, когда register_globals еще что-то использовала, так как те же состояния страниц (цитата):

Если устарел register_globals директива включена (удалена с PHP 6.0.0), тогда variable_order также настраивает порядок ENV, GET, Переменные POST, COOKIE и SERVER заселены в глобальном масштабе. Таким образом, для пример, если variable_order установлен в "EGPCS", register_globals включен, и оба $_GET['action'] и $_POST['action'] установлены, тогда $action будет содержать значение $_POST['action'] как P идет после G в наше значение директивы примера.

Я не вижу, что я мог бы добавить; это помогло?
Или это то, что вызывает у вас проблемы?

7 голосов
/ 01 октября 2009

Принятый ответ выше, это хорошо. Но здесь следует отметить еще один важный момент: если какой-либо из этих флагов не установлен, эта переменная будет пустой при запуске сценария, т.е. если для variable_order установлено значение «GPCS», переменная $ _ENV всегда будет пустым массивом. Выяснил это трудным путем.

2 голосов
/ 21 августа 2009

Управляет порядком, в котором глобальные переменные $_GET, $_POST и т. Д. Определяются PHP. Буквы просто обозначают категории, например, G для $_GET. Я серьезно сомневаюсь, что вы хотите возиться с этим параметром.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...