phpcms v9重名无法通过怎么办?
场景: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通讯是成功的,这样就恢复之前的备份就可以了。
PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!