Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是;EGPCS“;用PHP是什么意思?_Php - Fatal编程技术网

什么是;EGPCS“;用PHP是什么意思?

什么是;EGPCS“;用PHP是什么意思?,php,Php,我在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 fr

我在
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" ; 此指令描述PHP注册GET、POST、Cookie、, ; 环境和内置变量(分别为G、P、C、E&S,通常为 ;称为EGPCS或GPC)。注册是从左到右进行的,较新 ; 值覆盖旧值。 变量\u order=“EGPCS”
有关该指令的手册可能会对您有所帮助:(引用):

设置EGPC的顺序 (环境、获取、发布、Cookie和 (服务器)变量解析。例如 如果变量的顺序设置为“SP”,则 PHP将创建超全局变量
$\u服务器
$\u发布
,但不创建
$\u ENV
$\u GET
$\u COOKIE
。开始 “”表示不会设置超全局

另请注意(再次引用):

$\u请求的内容和顺序为
也受本指令的影响

我认为这个选项在不久前更为重要,当时仍然使用register_globals,正如同一页所述(引用):

如果已弃用的
注册表\u globals
指令处于打开状态(从PHP开始删除 6.0.0),然后变量\u order还配置ENV、GET、, POST、COOKIE和服务器变量是 在全局范围内填充。所以 如果变量_顺序设置为 “EGPCS”,寄存器\全局被启用, 和
$\u GET['action']
$\u设置POST['action']
,然后
$action
将包含
$\u POST['action']
因为P在G之后 我们的示例指示值

我看不出我能补充什么;这有用吗?

或者这是导致您出现问题的原因吗?

它控制全局变量
$\u GET
$\u POST
等由PHP定义的顺序。字母仅代表类别,例如,
g
代表
$\u GET
。我严重怀疑你是否想破坏这种设置。

以上公认的答案是好的。但这里需要注意的另一个重要点是,如果未设置这些标志中的任何一个,则脚本运行时该变量将为空,即,如果变量的顺序设置为“GPCS”,则$\u ENV变量将始终为空数组。你真的读过你发布的文档了吗?@Sean Bright:是的,但我不知道PHP寄存器的用途是什么?你在我问题的底部看到了吗?是的。答案就在你发布的文档中。@Sean Bright:这些订单有什么用??你知道吗?@Pascal MARTIN:对不起(,为什么我们需要为这些变量设置顺序。我不明白?如果有一个变量的名称与在$\u GET和$\u COOKIE中传递的方式相同,那么在将$\u GET、$\u POST、$\u COOKIE……合并到$\u请求中时,PHP必须知道其中哪一个必须首先使用……以及哪一个将覆盖第一个。这在是的(至少,如果我们不使用$\u请求),但是当使用register\u globals时,依赖这种顺序在我们的变量中设置正确的值并不少见;您可以在$\u GET中设置一个“action”,在$\u COOKIe中设置另一个“action”;但是$\u请求中只能有一个:将是哪一个?;-)是的,我知道了!!谢谢你,伙计!!:-)这就是我真正想要的答案:-)。c u on next post:)控制顺序意味着,如果寄存器_global设置为on,则为冲突变量名提供优先级。例如,如果$\u GET['name']和$\u POST['name']同时存在,则此顺序对于将值设置为$name很重要。