fsockopen被禁用,搞定discuz X2.5通信,实现单点登录登出
发布:smiling 来源: PHP粉丝网 添加日期:2014-04-02 15:34:03 浏览: 评论:0
空间安装了discuz X2.5,安装时提示fsockopen和pfsockopen函数被禁用,没有理会继续安装,安装过程没出现错误但是进入后台Ucenter却发现通信失败,跟踪了一下代码发现问题出现在uc_server/model/misc.php的95-101行代码如下:
- if(function_exists('fsockopen')) {
- $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
- } elseif (function_exists('pfsockopen')) {
- $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
- } else {
- $fp = false;
- }
因为空间禁用了fsockopen和pfsockopen函数所以$fp成了false了,好在还有stream_socket_client函数可用,将代码修改为:
- if(function_exists('fsockopen')) {
- $fp = @fsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
- } elseif (function_exists('pfsockopen')) {
- $fp = @pfsockopen(($ip ? $ip : $host), $port, $errno, $errstr, $timeout);
- }elseif(function_exists('stream_socket_client')) {
- $hostname = $ip ? $ip : $host;
- $fp = @stream_socket_client($hostname.':'.$port, $errno, $errstr, $timeout);
- } else {
- $fp = false;
- }
重新访问应用管理,通信一切正常,但此时还不能同步登录登出,还需要修改所有应用下的uc_client目录中的client.php,应该是在212行,修改的代码同上,修改完测试登录登出实现同步.
Tags: fsockopen discuz X2 5通信
- 上一篇:忘记Discuz的admin密码解决办法
- 下一篇:DISCUZ无法安装插件问题
相关文章
- ·安装dz论坛时遇到因为fsockopen()函数问题无法进入下一步解决(2014-04-02)
- ·Discuz3.1论坛升级问题集(2013-11-15)
- ·升级Discuz3.1时update.php访问出错(2013-11-15)
- ·discuz论坛项目总结(2013-11-15)
- ·怎么让discuz网站版块下面显示版块简介(2013-11-15)
- ·导致Discuz!论坛出现空白页面的一些原因及解决方法简要分析(2013-11-15)
- ·百度discuz结构化数据插件上线 收录有望(2013-11-15)
- ·discuz email 已经被注册的解决办法(2013-11-29)
- ·php中用curl模拟登录discuz以及模拟发帖(2014-01-06)
- ·discuz X3全局变量$_G(2014-01-10)
- ·discuz模板制作过程中的几点总结(2014-01-10)
- ·最新Discuz防灌水的方法和防灌水插件的推荐(2014-01-10)
- ·Discuz论坛 创始人/超级管理员密码忘记解决办法(2014-01-10)
- ·discuz发私信,GBK格式英文或者数字可以显示,中文不显示(2014-03-31)
- ·discuz和jquery冲突暂行解决办法(2014-03-31)
- ·Discuz X3 mysql数据库主从同步 读写分离(2014-03-31)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)