安装dedecms5.7提示request_order错误的解决办法

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 源码来绕过该检查。

操作步骤:

  1. 打开文件:
include/common.inc.php
  1. 找到以下与 PHP 版本判断相关的代码(通常是判断 PHP 版本大于 5.3 的部分)。
  2. 将该段代码注释掉。例如:
// 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')");
//     }
// }
  1. 保存文件。

4. 总结

  • 推荐方法:在 php.ini 中设置 request_order = "CGP",更安全规范。
  • 替代方法:修改 common.inc.php,注释掉版本检查代码,即可继续安装。

✅ 如果是本地测试或临时使用,可以采用第二种方法快速解决;若是正式生产环境,仍建议通过修改 php.ini 进行根本修复。