原文来自:https://www.zixuephp.com

dedecms php.ini register_globals must is Off

dedecms出现如下错误:dedecms php.ini register_globals must is Off

办法直接去 include/common.inc.php教程中将如下代码删除。

  1. //禁止session.auto_start
  2. if(ini_get('session.auto_start')!=0)
  3. {
  4. exit('php.inisession.auto_startmustis0!');
  5. }

这个删除后,再往下找,还有一处有:

  1. if(ini_get('register_globals'))
  2. {
  3. exit('php.iniregister_globalsmustisOff!');
  4. }

删除后可完美解决,需要删除的部分为:

1. 第10-20行

  1. //开启register_globals会有诸多不安全可能性,因此强制要求关闭register_globals
  2. if(ini_get('register_globals'))
  3. {
  4. exit('php.iniregister_globalsmustisOff!');
  5. }
  6. //禁止session.auto_start
  7. if(ini_get('session.auto_start')!=0)
  8. {
  9. exit('php.inisession.auto_startmustis0!');
  10. }

2.第72到75行

  1. if(ini_get('register_globals'))
  2. {
  3. exit('php.iniregister_globalsmustisOff!');
  4. }

以上两处删除即可完美解决!在apche的php.ini中 搜索这一项,你们的应该是register_globals = on 修改为register_globals = off 保存 重启服务器环境 比如重启apche

早上更新主要是对register_globals以及session.auto_start进行严格过滤,如果是独立服务器的用户可以修改php配置文件中的php.ini,将register_globals=On改为register_globals=Off,同时把session.auto_start=1改成session.auto_start=0,然后重启Apache.

如果是虚拟主机的用户,尽可能的通知空间商让其对配置进行修改,或者可以尝试ini_set('session.auto_start',0)来.如果实在不行,那只有采用最后的办法直接去include/common.inc.php中将

  1. //禁止session.auto_start
  2. if(ini_get('session.auto_start')!=0)
  3. {
  4. exit('php.inisession.auto_startmustis0!');
  5. }