2015年创业中遇到的技术问题:91-100

91.PHP日志记录方法.
  error_log("error info");

92.weiphp图灵机器人bug,需要修改3个地方。

问题描述:
启用聊天插件后,发现在微信客户端上不管输入什么内容,回复的都是预设好的内容,而无法使用图灵机器人的功能。
 
问题分析:
经过查看源码,发现 AddonsChatModelWeixinAddonModel.class.php 文件有一处 Bug,
在 function _tuling($keyword) 中,有一个判断图灵返回值的地方:
[mw_shl_code=php,true]  if ($result ['code'] > 40000) {
if ($result ['code'] < 40008 && ! empty ( $result ['text'] )) {
$this->replyText ( '图灵机器人请你注意:' . $result ['text'] );
} else {
return false;
}
}


另外,后面的代码中有两段相同的 case '200000' : 代码,可以删除一段。" 

完成上面的修改,在微信上可以正常进行文字聊天了。但如果输入 新闻,微信还是会报错误。, v+ v: _9 q# O1 n
经过几处测试,发现是在回复图文信息时,没有限制图文的总数量。微信允许一次回复的图文条数好象是10,而图灵返回的新闻是20条,被微信判错。
因为生成图文的地方比较多,我在 ApplicationHomeModelWeixinModel.class.php 这个文件里面统一进行修补:

public function replyNews($articles) {
if ( count ( $articles ) > 10 ) {
array_splice($articles, 10); // 丢掉10条以后的内容,以避免微信报错
}
$msg ['ArticleCount'] = count ( $articles );
$msg ['Articles'] = $articles;
 
 
$this->_replyData ( $msg, 'news' );
}

参考资料:http://bbs.weiphp.cn/thread-1976-1-1.html

93.图灵机器人API有3种方式。
a.接入API:
Api 地址: http://www.tuling123.com/openapi/api
请求方式: http get
数据格式: json

b.接入微信公众平台:
http://www.tuling123.com/openapi/wechatapi?key= 306839dbd81e291718429191767c2070 

c.QQ机器人:下载图灵机器人套件

参考:http://tuling123.com/openapi/cloud/access_api.jsp

在weiphp平台中,原来的例子用的是“接入API”这种方式,“/openapi/api”,
后来因为设置自己的key,把地址改成了“/openapi/wechatapi”,因为觉得咱们是微信公众平台嘛,结果坑了好久。

正解:虽说是微信公众平台,但是后台专门通过php接口调用图灵机器人API的,应该用第1种方式。

94.chrome开发者工具 怎么放到下方。
不知道怎么搞的,console飘到右边去了,切换模式之后,直接在新窗口展示了,很不习惯。
解决办法:长按图上的按钮(Dock to main window), 如果不能成功, 多试几次。
竟然还有这种极其隐含的技巧,尼玛。

95.weiphp微调研bug。
参考资料:[模块BUG] 微调研等表单 不显示用户填写的姓名和手机号
6楼和16楼
/* $member = get_memberinfo ( $vo ['uid'] );
            if (empty ( $member )) {
                $member = get_followinfo ( $vo ['uid']  );
            }
            $vo ['truename'] = $member ['truename'];
            $vo ['mobile'] = $member ['mobile']; */
           // $member = get_memberinfo ( $vo ['uid'] );
            //if (empty ( $member )) {
                $member = get_followinfo ( $vo ['uid']  );
           // }

AddonsSurveyControllerAnswerController.class.php
第1处:$member = get_followinfo ( $vo ['uid']  );
使用这种方式获得$member。
第2处: $vo ['truename'] = $member ['nickname'];

96.鼠标频繁的插拔,容易出现问题了。
Windows系统注销或重启,很可能就好了,遇到好几次了。

97.微信菜单没有刷新。
a.取消关注,再次关注。
b.等待,有的时候,菜单怎么弄,也没有及时刷新。只能耐心等待了。
通过微信调试工具,去获得微信菜单,才发现菜单已经修改成功了。
但是,通过微信公众号关注获得的菜单,却不是最新的。
郁闷。

98.Apache复制目录有问题。
import org.apache.commons.io.FileUtils;
Apache的copyDirectoryToDirectory(src,to);
"C://js","C://js2/",把js这个目录复制到js2下面,变成了C://js2/js.

import jodd.io.FileUtil;
Jodd的方法以及aspectj的复制文件的方法,就是需要的。
把js目录下的所有文件,复制一份到js2下。
而不是在js2下有个目录叫js。

99.md5密码破解。
从网上找到一个php的系统,安装之后,密码竟然不对,不是安装过程中设置的密码。
根据数据库表中的密码2cb7eba0f22a74e42ff016dfb55cf5a0,去网上破解,发现密码是like1989。
网上开源的代码,说不定就是别人修改过的,有没有后门还真不一定哦。

100.wamp原来内置了xdebug。
运行一个php程序,发现ajax请求里竟然返回了多余的xdebug信息。
无意中,发现waml内置了xdebug,还是很不错的。
只不过,ajax请求这个地方不应该输出错误信息。

这个地方是错误是这样的,mysql_connect函数早php5.5中已经不建议使用了,xdebug一直有输出错误信息。
改用mysql_li的函数就可以了。

原文地址:https://www.cnblogs.com/qitian1/p/6462777.html