升级了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了, 在不影响其他项目的情况下,还是改了吧。