IIS7.0下验证码无效问题解决方法
iis服务器配置完好后,试了一下php代码,感觉完好,性能响应方面感觉比Apache还要好,但是测试过程中发现了一个问题,验证码始终无效,后台进不去了,好悲催,但是不怕,继续折腾起来呗。
采用排除法,排除了验证码代码的原因,因为可以正常显示,而且Apache下运行完美,随后想到了session,因为验证码加密后保存在了session中,如果session无效的话,验证码也就失效了,既然找到了突破口了,那就马上搞起来吧,当然先去度娘那里看看呗
以上是百度结果,果然这种问题是存在的,但是看了好几篇文章都是无关痛痒的问题,但是都指明了一个思路,那就是php.ini中session的配置问题,那就朝着这个方向继续搞起
首先看环境中的配置文件是否加载了正确的php.ini文件,我使用phpinfo()查看的结果如下:
可以看到,php.ini加载路径在windows下,不过这个没有关系,你也看到了下面加载文件是正确的php.ini的路径,所以可以肯定php.ini被正确加载了,接下来就来看看,关于php.ini中session的配置问题了
首先找到你的php.ini文件,用文本编辑工具打开,找到session.save_path,将前面的分号去掉,指定一个正确的目录给它,如下
session.save_path = "c:/Temp"
然后确保这个文件夹下的读写权限,因为这个配置是session的保存目录,每次session的生成都会在这个目录下生成一个session文件
接下来配置session.cookie_path = /
配置完后可以用phpinfo()函数再次查看下,当然你的服务器得再次重启一下了,我的查询配置结果如下:
做完以上工作后,好开心,验证码验证正常了,后台终于进去了,然后去c:/temp目录下看,生成了一个session文件,如下:
至此,你的Session可以在正常工作了,哦也