Home  >  Article  >  Backend Development  >  phpcms v9 中 PHPSSO无法通讯解决办法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)

phpcms v9 中 PHPSSO无法通讯解决办法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)

WBOY
WBOYOriginal
2016-06-13 11:59:191153browse

phpcms v9 中 PHPSSO无法通讯解决方法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)

一般情况下,大多数人都是这样做的:

本地做一个虚拟环境,用localhost或127.0.0.1安装V9系统,在本地通讯没有任何问题,于是做一个本地的数据备份,当时远端安装的时候有会通过域名来安装,然后就将本地数据直接恢复到远端的服务器上,这种情况就常常发生SSO与V9系统无法通讯

由于备份中的数据链接保存的是网址是localhost或127.0.0.1或本机192.168.xxx.xxx,与域名不一致,比如SSO对应的是www.lanrensc.com,而恢复数据后的V9系统对应的是localhost或127.0.0.1,两者不一致当然就无法通讯,这是最常见的原因之一,一般根据官方提供的方法就能解决。

当然,如果你发现官方提供的方法也无法解决,估计就是你用本地V9根据目录下的所有源码直接覆盖远端的,包括由于安装产生的V9Cache和SSO的Cache,要知道本机和服务器上cache中记录的数据库信息是不一样的,特别是权限限制严格的Linux系统,所以就算按官方提供的方法通常也还是无法通讯

原因二:本机的V9 Cache和SSO的Cache覆盖了服务器的对应文件,这是导致无法通讯的第二常见的原因,可以尝试修改cache中的几个文件:\caches\configs\和\phpsso_server\caches\configs目录下的system.php和database.php,具体修改的方法就不赘述,可以查看caches中的配置文件datebase.php是否是自己的需要的数据。

除了以上两个原因有两种可能:
第一,如果是linux服务器,网站目录的权限设置不对,可能导致无法通讯
第二,戴www和没带www的两个域名同时指向一个服务器,安装V9时,如果是没带的顶级域名来安装,而本机却用www.lanrensc.com,这种情况也会通讯失败

特别是第二原因,很多人可能忽略了!有没有带WWW,sso认为是两个不同的应用,不同的应用当然就是无法通讯了。。。

避免V9和SSO产生无法通讯问题,建议这样做:
1,如果你本机数据不用恢复到服务器,就直接上传模板文件即可,不要覆盖远端的cache文件夹
2,如果本机有数据要恢复到服务器的,保存本机数据时记住不要保存含有v9_admin、v9_member和v9_sso这三个前缀的表,远端安装V9的时候采用全新安装,安装完成后只上传\caches\bakup\default\文件夹中的SQL备份和模板包
3,记住,很多时候,带有www和没带有www,SSO认为是两个不同的应用,即便两者指向同一个服务器。如果你主力使用www,记住请用它来安装V9。
4,Linux服务器,请注意安装V9目录的权限,FTP上传请用二进制上传,如果服务器是独立主机,你有root权限也不建议用root权限的账户上传,而是用建立站点时的关联账户上传V9程序。

重新提供一个解决SSO通讯问题的方法就是:
建一个不包含v9_admin、v9_member和v9_sso这三个前缀的表的数据备份(本机或服务器上都无所谓),然后在服务器上安装一个全新的V9(用最新V9中的install、cache和phpssoserver目录覆盖服务器上的同名文件夹,并删除cache中install.lock文件即可),保证这个新装的V9通讯是成功的,这样就恢复之前的备份就可以了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn