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 相关文章推荐
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装最快的解决办法
Aug 01 PHP
PHP中PDO的错误处理
Sep 04 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
May 08 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
Aug 11 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
ZF框架实现发送邮件的方法
Dec 03 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
PHP实现git部署的方法教程
Dec 19 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP正则匹配到2个字符串之间的内容方法
Dec 24 PHP
PHP实现的杨辉三角求解算法分析
Mar 11 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 字符截取 解决中文的截取问题,不用mb系列
2009/09/29 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
使用php完成常见的文件上传功能(推荐)
2017/01/13 PHP
FCK调用方法..
2006/12/21 Javascript
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
js chrome浏览器判断代码
2010/03/28 Javascript
JavaScript EasyPager 分页函数
2011/05/25 Javascript
jQuery 在光标定位的地方插入文字的插件
2012/05/10 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
简单介绍JavaScript中字符串创建的基本方法
2015/07/07 Javascript
jquery.map()方法的使用详解
2015/07/09 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
2015/10/10 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
2015/10/14 Javascript
jQuery为动态生成的select元素添加事件的方法
2016/08/29 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
10 种最常见的 Javascript 错误(频率最高)
2018/02/08 Javascript
pandas.DataFrame 根据条件新建列并赋值的方法
2018/04/08 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
Python实现随机取一个矩阵数组的某几行
2019/11/26 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
基于python实现图片转字符画代码实例
2020/09/04 Python
python cookie反爬处理的实现
2020/11/01 Python
用python实现一个简单的验证码
2020/12/09 Python
Pandas的数据过滤实现
2021/01/15 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
解决pytorch 保存模型遇到的问题
2021/03/03 Python
基于CSS3实现图片模糊过滤效果
2015/11/19 HTML / CSS
使用canvas压缩图片大小的方法示例
2019/08/02 HTML / CSS
奥巴马的演讲稿
2014/05/15 职场文书
工地安全标语
2014/06/07 职场文书
2014年全国法制宣传日宣传活动方案
2014/11/02 职场文书
2015年化工厂工作总结
2015/05/04 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
MySQL 8.0 Online DDL快速加列的相关总结
2021/06/02 MySQL
JS实现刷新网页后之前浏览位置保持不变示例详解
2022/08/14 Javascript