首页  >  文章  >  CMS教程  >  phpcms v9通信失败怎么办

phpcms v9通信失败怎么办

藏色散人
藏色散人原创
2020-01-07 10:47:193198浏览

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阿帕奇下,这个问题比较少。

PHP中文网,大量的免费PHPCMS教程,欢迎在线学习!

以上是phpcms v9通信失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn