phpcms程序(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教程 ,欢迎在线学习!
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!