标签 Discuz 下的文章

Discuz!的一处隐蔽Bug

今天插件上线了,有站长安装后,发现提交表单后页面白页了。
我在本机测试没问题的呀,很是奇怪。
算是第一个用户,晚上到家帮忙查了下问题。

原因

插件用到论坛管理的模块,同时使用了updatecache更新setting缓存。
这里触发到了Discuz!一个历史悠久的bug。
为什么说历史悠久,请看此帖

- 阅读剩余部分 -

Discuz! 应用中心插件上架小记

最近写了款插件,10月3日晚上提交的上架申请。

10月2日中午收到通知,被拒了,理由是:

[应用审核] “版块简介” 审核失败,现已被撤销 1、版主信息不是默认都显示吗 请修改你的描述 不要误导用户

插件描述里我已经写明了是悬浮显示版主信息,这里直接给我拒了。

10月2日晚上到家,重新提交申请,写明我是悬浮展示,未误导用户,结果又被拒了,理由是:

[应用审核] “版块简介 1.0” 审核失败,现已被撤销 卸载不干净$_G[\'setting\'][\'liudon_forum_summary_\' . $fid] 其他的问题自己去找 第2次了

- 阅读剩余部分 -

同步站点信息提示“An unknown error occurred.May be DNS Error.(ERRCODE:1)”的问题排查与解决

原因分析

找到source\plugin\manyou\Service\Client\Restful.php文件,搜索代码

$result = $this->_postRequest($url, $postString);

在这句下面添加代码

writelog('debug', $url . '-' . $postString . '-'. var_export($result, true));

然后到站点后台诊断工具下,点击同步站点信息,查看data/log下的日志文件,内容如下:

http://api.discuz.qq.com/site_cloud.php-format=PHP&method=site.sync&************-NULL

可以看到返回为空,继续追查。
找到source\function\function_filesock.php文件,搜索代码

curl_close($ch);

在这句下面添加代码

writelog('debug', $url . '-' . $errno . '-' . var_export($data, true));

然后到站点后台诊断工具下,点击同步站点信息,查看data/log下的日志文件,内容如下:

<?PHP exit;?>   http://api.discuz.qq.com/site_cloud.php-28-NULL

curl错误号28表示超时,接口请求超时。

CURLE_OPERATION_TIMEDOUT (28)

解决方法

找到source\plugin\manyou\Service\Client\Restful.php文件,搜索代码

$result = $this->_fsockopen($url, 0, $data, '', false, $ip, 5);

改为下面代码

$result = $this->_fsockopen($url, 0, $data, '', false, $ip, 30);

然后到站点后台诊断工具下,点击同步站点信息,提示同步成功。
ok,问题解决,把超时时间设置大一些即可。

QQ互联点击登录提示999报错的问题分析与解决

原因分析

今天收到好几个站点反馈QQ互联登录提示999错误的case,看了下程序,已经是请求互联开放平台的接口了,所以不是云平台的问题导致。

找到其中一个站点,检查站点后台诊断工具情况,发现互联接口请求失败,感觉像是域名解析IP换了,把设置的IP去掉后,请求成功。

ping了下openapi.qzone.qq.com,发现变成了112.90.83.87,确认是域名解析IP变更导致的。

解决方法

  1. 登录站长后台,点击工具-》云平台诊断工具。
  2. 点击QQ互联域名解析后面的设置IP,在弹出来的框里,将QQ互联接口IP里的IP删掉,然后提交。

最新可用的解析IP

如果你的网站通过DNS解析域名有问题,可以设置下面其中一个IP。

深圳电信 183.60.15.158
深圳联通 112.90.83.87

Discuz! 版主已阅插件更新

版主已阅插件为本人接触Discuz!来的第一款插件,地址见http://addon.discuz.com/?@dst_read.plugin.

V2.0版本更新内容(2014/07/21):

1. 代码完全重写,优化插件的数据库查询。
2. 增加自定义已阅文字功能。
3. 增加自定义已阅文字颜色功能。
4. 记录已阅用户,已阅楼层显示标记已阅的用户名,以便后续查阅。
5. 增加跳转页面,解决已阅楼层被删除后无法跳转到已阅楼层的问题。

现在看早期写的代码简直不忍直视,一个页面十几次数据库查询...
好吧,新版全部重写了,快来更新吧~