Я нашел следующий код в 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"
Ответ 1
Руководство по директиве может помочь вам немного больше: variables_order
(цитирование):
Устанавливает порядок EGPCS (Окружающая среда, Get, Post, Cookie и Server). Например, если для параметра 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 в наше примерное значение директивы.
Я не вижу, что я мог добавить; это помогло?
Или это что-то в этом, что вызывает у вас проблемы?
Ответ 2
Принятый ответ выше хорош. Но еще один важный момент, который следует отметить здесь, состоит в том, что если какой-либо из этих флагов не установлен, эта переменная будет пуста при запуске script, то есть если переменная_order установлена в "GPCS", переменная $_ENV всегда будет пустым массивом. Это нашло трудный путь.
Ответ 3
Он управляет порядком, в котором глобальные переменные $_GET
, $_POST
и т.д. определяются PHP. Буквы просто обозначают категории, например G
для $_GET
. Я серьезно сомневаюсь, что вы хотите возиться с этой настройкой.