我想重構舊的PHP項目,並且此項目不顯式訪問$ _GET,$ _POST變量。例如,它只使用$ab
而不是$_POST['ab']
。我的本地服務器現在不允許。
如何更改我的php.ini
設置,以便我可以直接訪問這些$ _POST和$ _GET變量,而不用使用$ _GET和$ _POST引用它們?
我需要通過基於服務器的設置來做到這一點,因爲只有很多文件才能在頂部添加2行設置。
我想重構舊的PHP項目,並且此項目不顯式訪問$ _GET,$ _POST變量。例如,它只使用$ab
而不是$_POST['ab']
。我的本地服務器現在不允許。
如何更改我的php.ini
設置,以便我可以直接訪問這些$ _POST和$ _GET變量,而不用使用$ _GET和$ _POST引用它們?
我需要通過基於服務器的設置來做到這一點,因爲只有很多文件才能在頂部添加2行設置。
在php.ini中register_globals
選項設置爲'on'
這是非常非常壞的做法,但是,我建議你做這個暫時的。
+1爲粗體的「 __very__「 – KingCrunch 2012-02-22 21:16:19
這在5.3+已棄用 – Bot 2012-02-22 21:17:14
是的,我只是需要暫時讓它重構舊的項目代碼,並且服務器在本地,所以它應該是安全的。謝謝! – user482594 2012-02-22 21:18:31
更好的方法是使用$_REQUEST
超全局數組;它包含$_GET
,$_POST
,$_COOKIE
和$_SESSION
陣列的合併。但是如果你確定你需要使用register_globals
,你可以把它變成on
。
您可以使用函數import_request_variables。 只需添加一行
import_request_variables("gp","");
到全球包括文件。
所以你不必打開register_global ON。
下面是關於它的更多信息http://php.net/manual/en/function.import-request-variables.php
谷歌的register_globals – j08691 2012-02-22 21:16:36
不過說真的,不這樣做。 – gintas 2012-02-22 21:19:32
我正在重構舊的項目代碼... – user482594 2012-02-22 21:19:56