前言:百度是个好东西,很多疑难杂症都可以在百度找到答案,当然同样的有问题也许会有多种不同的答案,更悲催的是你尝试了多种方案之后仍然未解决你的问题。那不妨尝试下我的方案吧,
病症:phpcms
v9 sso通信失败,会导致会员无法正常登录和注册等问题,
优势:百度网友针对phpcms v9
sso通信失败给出的答案大同小异,我也按照步骤尝试过多种方案还是未能解决,后来我自己分析了
phpsso_server文件夹内各文件的关系终于解决,博主亲测有效。
很多网友发现网站前台无法注册和登陆会员,去网站后台直接添加会员也不成功,其实质是phpcms v9 sso通信失败导致的,如图:
1.检查站点根目录\caches\configs\
目录下的system.php和database.php文件中的域名站点等配置信息。
2.检查站点根目录\phpsso_server\caches\configs目录下的system.php和database.php文件中的域名和站点配置等信息。
①
站点根目录\caches\configs\system.php文件其实质是网站phpcms后台—设置—PHPSSO配置信息,如图:
对应的\caches\configs\system.php文件代码:
http://zx./phpsso_server
而代码中调用的是http://zx./
这样是正确的,并不是我搞错了,按照规则后台PHPSSO配置信息中的确是这样配置的:
需要填写你的域名+/phpsso_server
同时,我们再来看\caches\configs\database.php文件:
②下面我们再看站点根目录\phpsso_server\caches\configs\system.php文件,这个文件其实质是网站phpcms后台PHPSSO配置信息,如图:
'app_path' =>
'http://域名/phpsso_server/',//动态域名配置地址和上面文件是有区别的,正确的配置也是这样的。
对应的我们再来看站点根目录\phpsso_server\caches\configs\database.php文件:
到这里,上面所说的方案1和方案2中的配置信息我们就检查完了,其实这里基本不会出错。因为你的网站在安装的时候会自动读取备份信息。数据库信息更不容易出错。
那么我们为什么还要检查以上这两步呢?首先是避免有些网站后台bug导致的后台配置好了却没有写入到你的源文件代码中。如此对照我们才能确保配置正确。这也就是为什么我们百度查询的方案都做了仍然没有解决phpsso通信失败的问题。博主遇到的也是这样的问题。
下面一步就是我虽然在网站后台填写配置正确的,但是却没有写入源文件代码造成的phpsso通信失败问题,
一起来看步骤
3:很多解决方案都是让用户检查以上两步,这里博主发现还有一个很重要的文件导致phpsso通信失败,
文件位置站点根目录\phpsso_server\caches\caches\_date\applist.cache.php
文件,代码如下:
站点根目录\phpsso_server\caches\caches\_date\applist.cache.php
文件,但是我遇到的问题是 这里配置正确的,仍然通信失败,后来才发现我在这里配置的,并没有写入applist.cache.php
文件,发现之后我直接编辑applist.cache.php 文件源代码保存,然后通信成功了。
那么有人要问了,这里怎么算是配置正确的?
这也就是网友给出的方案
4.网站后台—设置—phpsso配置中心应用id、接口地址、加密密钥、版本和php—应用管理—编辑应用中的对应项要一致。如图:
如果这里发现配置正确的,那就应该按照我的步骤3
去看下源代码到底是不是同步到这里的配置信息了。
博主这里就去看了applist.cache.php
文件手动改写了源代码和对应项一致,然后phpsso通信成功:
最后 至于网友还说其他几个方案,我这里也整理下:
5.检查
c:windows\systyem32\drivers\etc\hosts文件,如果用的是localhost域名访问,本机是否绑定了127.0.0.1
总结:
phpsso通信失败会导致网站会员无法注册登录和添加。最关键的原因是网站后台—设置—phpsso配置中心
尊重原创的辛苦,本文转载自:http://blog.sina.com.cn/s/blog_14c335a1b0102y4s1.html
|
|