千家信息网

phpcms v9通信失败的解决方法

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍phpcms v9通信失败的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!phpcms v9通信失败怎么办?Phpcms v9 与 Phpsso通信失败
千家信息网最后更新 2024年11月23日phpcms v9通信失败的解决方法

这篇文章主要介绍phpcms v9通信失败的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

phpcms v9通信失败怎么办?Phpcms v9 与 Phpsso通信失败,会员不能注册不能登陆怎么办?

有朋友这么说:

服务器其它配置正确,通信始终失败原因已经找到:

由于有防火墙的服务器一般是端口映射,这样就导致外网可以通过域名正常访问网站,而内网则无法通过域名访问网站。而v9与phpsso通信接口地址是通过域名链接,从而始终导致通信失败。这是v9的自身缺陷问题,开发者没有充分考虑到这一点。

望官方尽早修复这个BUG.

也有朋友说:

官方下载的安装包内phpsso_server文件里,并没有这个文件。所以解决的方法就是从v9的phpcms/libs/classes/文件夹里复制吧,然后还要在phpsso_server/caches/文件下建一个sessions目录,不然文件无法写入。

当然网上也有方法是把session_mysql.class.php这个文件里的第21行语句session_start();放到它前一句的前面,这样的话,也可以解决,但是v9不会采用数据库存储的方式,只会采用文件存储,而且,session的存储位置也不是按照system.php里设置的位置存储。会存到php.ini文件里设置的目录下。

提供一个解决方法:

把phpcms\modules\member\classes\client.class.php 361行

$fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);

改成

$fp = stream_socket_client("tcp://".($ip ? $ip : $host).":".$port, $errno, $errstr, $timeout);

经过测试,可以登陆成功。

这个问题不少朋友碰到,不过在Linux阿帕奇下,这个问题比较少。

以上是phpcms v9通信失败的解决方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

0