1. 问题说明
在 Windows Server 2008 中使用 PHP 5.3 + IIS 环境安装 DedeCMS 5.7 时,可能会出现以下错误提示:
DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP') in php.ini, more
2. 官方解释
织梦官方说明:
- 在 PHP 5.3 及以上版本中新增了配置项
request_order。 - 默认值为
GP,存在一定安全风险。 - 官方建议将该值修改为
CGP。 - 修改方式:在 php.ini 文件中找到
request_order,并将其设置为:
request_order = "CGP"
但是,有些时候修改 php.ini 并不方便,这就需要通过其它方法解决。
3. 替代解决方案(无需修改 php.ini)
如果无法直接修改环境配置,可以通过修改 DedeCMS 源码来绕过该检查。
操作步骤:
- 打开文件:
include/common.inc.php
- 找到以下与 PHP 版本判断相关的代码(通常是判断 PHP 版本大于 5.3 的部分)。
- 将该段代码注释掉。例如:
// if (PHP_VERSION >= '5.3') {
// if (ini_get('request_order') != '' && strtolower(ini_get('request_order')) != 'cgp') {
// exit("DedeCMS Error: (PHP 5.3 and above) Please set 'request_order' ini value to include C,G and P (recommended: 'CGP')");
// }
// }
- 保存文件。
4. 总结
- 推荐方法:在 php.ini 中设置
request_order = "CGP",更安全规范。 - 替代方法:修改
common.inc.php,注释掉版本检查代码,即可继续安装。
✅ 如果是本地测试或临时使用,可以采用第二种方法快速解决;若是正式生产环境,仍建议通过修改 php.ini 进行根本修复。