问题描述:
帝国的后台管理系统突然出现这样的情况:登陆后,转向处理页面是出现空白页面,不论账号密码是对是错都是空白,没有提示。 然而正确登陆后直接输入管理页面又可以用。
所有转向都不能用,出现空白页。
问题原因猜想:
首先想的是可能那个文件被改了,因为没有动过帝国的cms程序,所以决定重新装一个最新的版本试试,结果出现同样的问题,服务器上所有的帝国cms都有这样的问题,其他系统没有。
觉得要不是帝国的cms问题,要么是我服务器问题。我在另一个服务器上安装帝国cms,ok,没有问题。 那么问题原因范围就缩小到了我的服务器上。
首先去查找源代码,发现登陆时调用的是function.php里的login方法,但是function.php是通过zend处理过的,打不开。所以就想,可能是服务器上的zend出问题了,突然想起一个问题,就是安装cms时,提示系统不支持zend,晕了,系统明明装好了zend的,而且php.ini里也配置好了的,以前用的没有问题啊,就是突然出现问题了。那么可能是某个操作更改了php.ini或者zend
然后再试,重新安装zend,还是不行,那么问题只有一个了,就是那些操作更改了php.ini配置。
解决方案:
修改php.ini,把所有include_path 注释掉,问题解决。
原来是我在装一个论坛时(phpwind v6.3.2),增加了一个include_path,原来的include_path是处于注释状态的,注释掉这个后问题解决。
遗留疑问:
既然phpwind在安装时向php.ini里增加了东西,肯定有它的用途,不知道以后会不会在用phpwind时出问题。反正现在是可以登陆。难道帝国cms和phpwind之间有冲突?或者帝国cms用插件可以支持phpwind我没装?
找了资料,还有一种情况是 文件没有按二进制上传,但是像flashfxp会自动判断的,不知道是不是这个原因,有待考证