升級了DedeCMS的php環境之後, 登錄後台, 會看到報如下錯誤:
DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini
解決方法:
找到php.ini, 如果是widows,找到php安裝目錄下的/etc/php.ini找到並修改request_order裡的GP改成CGP即可;
以下方法說給不熟悉linux的用戶, 高手可自行略過。
如果是linux, 假設php.ini的安裝位置是在/usr/local/php, 那麽有可能運維人員會把php.ini放到/usr/local/php/etc/php.ini這種默認的路徑下, 也有可能放到/etc/php.ini這樣的路徑下, 舉個例子, 如果是第一種情況, 那麽打開方法是
vim /usr/local/php/etc/php.ini
打開之後用鍵盤打 /request_order 再按鍵盤的N鍵向下翻, 找到不帶;號開頭的非注釋配置段
request_order = GP
改成
request_order = CGP
完工。如果系統提示vim找不到, 那就把vim改成vi
也就是
vi /usr/local/php/etc/php.ini
在linux下如何查找php.ini的路徑?
方法很簡單, 這個題是必考題, 重點, 畫個圈記下來。
find / -name "php.ini"
問題很明顯, DedeCMS認爲, request_order如果配置成GP, 那就意味著可以從$_COOKIE這種全局變量裡提交數據給模板, 這很不安全, 所以呢, 想出這麽個法子來加強安全。既然都報Error了, 在不影響其他項目的情況下,還是改了吧。