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 相关文章推荐
使用Sphinx对索引进行搜索
Jun 25 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
php去除HTML标签实例
Nov 06 PHP
PHP登录环节防止sql注入的方法浅析
Jun 30 PHP
PHP模块memcached使用指南
Dec 08 PHP
浅谈PHP中JSON数据操作
Jul 01 PHP
PHP可变变量学习小结
Nov 29 PHP
php reset() 函数指针指向数组中的第一个元素并输出实例代码
Nov 21 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
Mar 31 PHP
关于Laravel-admin的基础用法总结和自定义model详解
Oct 08 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
Dec 12 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 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 和 MYSQL
2006/10/09 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
php calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
JavaScript与函数式编程解释
2007/04/27 Javascript
List all the Databases on a SQL Server
2007/06/21 Javascript
Mootools 1.2教程(2) DOM选择器
2009/09/14 Javascript
用JQuery模仿淘宝的图片放大镜显示效果
2011/09/15 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
JavaScript使用pop方法移除数组最后一个元素用法实例
2015/04/06 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
2017/02/15 Javascript
详解Javascript几种跨域方式总结
2017/02/27 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
前端开发不得不知的10个最佳ES6特性
2017/08/30 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
python编码最佳实践之总结
2016/02/14 Python
请不要重复犯我在学习Python和Linux系统上的错误
2016/12/12 Python
python之消除前缀重命名的方法
2018/10/21 Python
python读取大文件越来越慢的原因与解决
2019/08/08 Python
django 通过url实现简单的权限控制的例子
2019/08/16 Python
Python3加密解密库Crypto的RSA加解密和签名/验签实现方法实例
2020/02/11 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
keras slice layer 层实现方式
2020/06/11 Python
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
教师自我评价范例
2013/09/24 职场文书
高中生学习生活的自我评价
2013/11/27 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书