php中使用$_REQUEST需要注意的一個(gè)問題
問題
說起$_REQUEST,大家都知道的是它是$_GET和$_POST的集合。但是如果你有心的話,查一下文檔,會(huì)看到:
$_REQUEST
An associative array that by default contains the contents of $_GET, $_POST and $_COOKIE.
這里說$_REQUEST默認(rèn)是$_GET, $_POST, $_COOKIE的集合,結(jié)果我使用我本地的php查看了一下發(fā)現(xiàn)只有$_GET, $_POST, 沒有$_COOKIE??! 難道文檔是錯(cuò)的?
答案
其實(shí)changelog中有給出解釋:
版本5.3以上,php.ini中有request_order屬性來設(shè)置$_REQUEST。查了下php.ini, request_order設(shè)置成為了GP(Get and Post)。
request_order的官網(wǎng)描述:
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默認(rèn)是設(shè)置成GP的,并不包含C,即$_REQUEST默認(rèn)只包含$_GET和$_POST !! (所以官網(wǎng)文檔有一定的誤導(dǎo))。
也同時(shí)說一下G,P,C的先后順序就是設(shè)置的array的覆蓋順序。
提醒下如果你是使用fpm-php實(shí)驗(yàn)的話,改了php.ini后你需要重啟php-fpm
- PHP全局變量與超級(jí)全局變量區(qū)別分析
- 認(rèn)識(shí)并使用PHP超級(jí)全局變量
- PHP超級(jí)全局變量數(shù)組小結(jié)
- PHP利用超級(jí)全局變量$_POST來接收表單數(shù)據(jù)的實(shí)例
- PHP利用超級(jí)全局變量$_GET來接收表單數(shù)據(jù)的實(shí)例
- php中g(shù)lobal和$GLOBALS[]的分析之一
- PHP中全局變量global和$GLOBALS[]的區(qū)別分析
- PHP中$GLOBALS與global的區(qū)別詳解
- PHP global全局變量經(jīng)典應(yīng)用與注意事項(xiàng)分析【附$GLOBALS用法對(duì)比】
- PHP $_SERVER詳解
- php中$_REQUEST、$_POST、$_GET的區(qū)別和聯(lián)系小結(jié)
- PHP超級(jí)全局變量【$GLOBALS,$_SERVER,$_REQUEST等】用法實(shí)例分析
相關(guān)文章
通過5個(gè)php實(shí)例細(xì)致說明傳值與傳引用的區(qū)別
今天有個(gè)同事問我傳值和傳引用有什么不同,這讓我想起了,剛學(xué)php的時(shí)候,那個(gè)時(shí)候做過很多項(xiàng)目,做東西多,就以為自己php掌握的差不多了,隨著時(shí)間的推移,越深入的學(xué)習(xí),越覺得自己知道的真的很少,很少2012-08-08對(duì)于ThinkPHP框架早期版本的一個(gè)SQL注入漏洞詳細(xì)分析
這篇文章主要介紹了對(duì)于ThinkPHP框架早期版本的一個(gè)SQL注入漏洞詳細(xì)分析,對(duì)于網(wǎng)站安全十分重要!需要的朋友可以參考下2014-07-07php版微信開發(fā)Token驗(yàn)證失敗或請(qǐng)求URL超時(shí)問題的解決方法
這篇文章主要介紹了php版微信開發(fā)Token驗(yàn)證失敗或請(qǐng)求URL超時(shí)問題的解決方法,簡(jiǎn)單分析了Token驗(yàn)證失敗及請(qǐng)求URL超時(shí)的原因及相關(guān)解決方法,需要的朋友可以參考下2016-09-09php基于websocket搭建簡(jiǎn)易聊天室實(shí)踐
本篇文章主要講解php+websocket搭建簡(jiǎn)易聊天室實(shí)踐,文中有關(guān)php,websocket的內(nèi)容,請(qǐng)有需要的人參考。2016-10-10