php中将xml转成json

在做底层接口,php对接一个老项目,对方返回的是xml,解析起来还是很麻烦的。还是转成json简单易用。

SimpleXML 函数是 PHP 核心的组成部分,它允许我们把 XML 转换为对象。

假定对方http返回的内容是 utf-8 编码的$response,我们返回的json格式给上层使用

$body = $response->body;

$xml = simplexml_load_string($body);
$result = json_decode(json_encode($xml, JSON_UNESCAPED_UNICODE), true);

return response()->json($result, $response->status);

参考资料:


几个微信公众号开发时的错误代码

开发公众号也有好一段时间了,说起来开发是蛮简单的。很久没看了,最近遇到了一些问题,小小总结一下。

客服接口65400错误

很久没有动过一个微信公众号了,今天发信息的时候发现发不通。看了日志,发现了这个错误——[Wechat][65400] please enable new custom service, or wait for a while if you have enabled hint: [0Lx7ja0168e303]。

想了一下,应该是没有添加客服吧(虽然之前使用没问题,貌似最近公众号升级了导致出现问题)。试着添加了一下客服,稍等5分钟左右,就好了。嗯嗯。

客服接口45015错误

{  
    "errcode":45015,  
    "errmsg":"response out of time limit or subscription is canceled hint: [ZE1Uxa0498age8]"  
}  

原因是当用户微信不活跃时间超过24小时(此时间当前是多少由腾讯定),不会将信息推送到用户微信公众号。

原先我们给用户发送的消息都是使用客服消息发送的,就会导致这种情况。如果是网站的服务通知,可以使用模板进行发送,这个没有时间限制。

当然模板功能也是要申请的,大概需要2天时间。每个账号可以同时使用15个模板。当前每个模板的日调用上限为 10 万次。


使用git@oschina时存储密码

最近使用了oschina的git服务,虽然不那么稳定(一星期抽风一到两次),应该已经是国内最好的git服务了吧。小团队不需要部署自己的git服务器,减少了不少维护成本。

然而,在服务器上每一次拉取代码都要输入密码,比较烦人。

不过为了方便部署,我还是把记住密码的功能打开了。下面是解决办法。

  • 设置基本的git信息:

      $ git config --global user.name "John Doe"
      $ git config --global user.email johndoe@example.com
    
  • 进行一次git操作,pull或者fetch都ok
  • 储存密码

      git config --global credential.helper store # 长期存储密码
      git config --global credential.helper cache # 设置记住密码(默认15分钟)
      git config credential.helper 'cache --timeout=3600' # 自己设置时间
    

军哥的lnmp一键安装包

我自己部署的话,一般用的是debian+openresty+postgres+php。虽然如此,为别人快速安装一键部署环境的时候,lnmp依然是最简便易行的选择。

基本的操作在官网上都有,lnmp一键安装包。今天仅仅记录一些容易忘记的操作,避免每次都上官网去找。

我使用的版本是1.2,发现mysql和pureftp会有些问题,因为网站已经开放使用了,也就懒得换了。


1 2 76 77 78 79 80 91 92