php中使用$_REQUEST需要注意的一个问题


Posted in PHP onMay 02, 2013

问题
说起$_REQUEST,大家都知道的是它是$_GET和$_POST的集合。但是如果你有心的话,查一下文档,会看到:

$_REQUEST

An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.

这里说$_REQUEST默认是$_GET, $_POST, $_COOKIE的集合,结果我使用我本地的php查看了一下发现只有$_GET, $_POST, 没有$_COOKIE!! 难道文档是错的?

 

答案
其实changelog中有给出解释:

php中使用$_REQUEST需要注意的一个问题

版本5.3以上,php.ini中有request_order属性来设置$_REQUEST。查了下php.ini, request_order设置成为了GP(Get and Post)。

 

request_order的官网描述:

request_order string

This directive describes the order in which PHP registers GET, POST and Cookie variables into the _REQUEST array. Registration is done from left to right, newer values override older values.

If this directive is not set, variables_order is used for $_REQUEST contents.

Note that the default distribution php.ini files does not contain the 'C' for cookies, due to security concerns.

 

原来是G,P,C分别代表Get,Post,Cookie,5.3以上的版本request_order默认是设置成GP的,并不包含C,即$_REQUEST默认只包含$_GET和$_POST !! (所以官网文档有一定的误导)。

 

也同时说一下G,P,C的先后顺序就是设置的array的覆盖顺序。

提醒下如果你是使用fpm-php实验的话,改了php.ini后你需要重启php-fpm

PHP 相关文章推荐
Discuz 模板语句分析及知识技巧
Aug 21 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
PHP中3种生成XML文件方法的速度效率比较
Oct 06 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
体育彩票排列三组选三算法分享
Mar 07 PHP
php实现数组按指定KEY排序的方法
Mar 30 PHP
基础的WordPress插件制作教程
Nov 24 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
laravel自定义分页效果
Jul 23 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 PHP
PHP执行批量mysql语句的解决方法
May 02 #PHP
PHP闭包(Closure)使用详解
May 02 #PHP
PHP5中Cookie与 Session使用详解
Apr 30 #PHP
PHP容易忘记的知识点分享
Apr 30 #PHP
基于curl数据采集之正则处理函数get_matches的使用
Apr 28 #PHP
基于curl数据采集之单页面并行采集函数get_htmls的使用
Apr 28 #PHP
基于curl数据采集之单页面采集函数get_html的使用
Apr 28 #PHP
You might like
PHP parse_url 一个好用的函数
2009/10/03 PHP
优化php效率,提高php性能的一些方法
2011/03/24 PHP
PHP培训要多少钱
2017/06/06 PHP
Laravel开启跨域请求的方法
2019/10/13 PHP
JS 容错处理代码, 屏蔽错误信息
2021/03/09 Javascript
图片自动缩小 点击放大
2008/07/07 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
浅谈javascript 面向对象编程
2009/10/28 Javascript
最短的javascript:地址栏载入脚本代码
2011/10/13 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
jQuery中Ajax的get、post等方法详解
2015/01/20 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
NodeJs测试框架Mocha的安装与使用
2017/03/28 NodeJs
vue2.0 自定义组件的方法(vue组件的封装)
2018/06/05 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python的Template使用指南
2014/09/11 Python
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
python实现神经网络感知器算法
2017/12/20 Python
Python爬虫常用小技巧之设置代理IP
2018/09/13 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Python多进程入门、分布式进程数据共享实例详解
2019/06/03 Python
Win10下python 2.7与python 3.7双环境安装教程图解
2019/10/12 Python
学Python 3的理由和必要性
2019/11/19 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
Feelunique美国:欧洲大型的在线美妆零售电商
2018/11/04 全球购物
综合素质的自我鉴定
2013/10/07 职场文书
教师远程培训感言
2014/03/06 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
有关信念的名言语录集锦
2019/12/06 职场文书