Warning: http_build_query(): Parameter 1 expected to be Array or Object. Incorrect value given in …

今天,在开发微信公众号发送模板消息的时候调用ECSTORE系统的发送模块base_httpclient类。结果死活出错误,一直提示:

Warning: http_build_query(): Parameter 1 expected to be Array or Object.  Incorrect value given in /data/ECS_Site/Demo/app/base/lib/curl.php on line 31

其他时候基本上没有,没有看到错误,可能也许大概没有错误,但是增加模板调用就会出现错误,所以调试一圈发现没有涉及到相关的其他调用,完全是系统本身的调用,不知道哪里涉及到了,没时间一步步的调试了。

根据错误提示:

参数1预计的参数是数组或者对象,错误的值在…

好吧翻译的有点问题但是基本的意思我们懂啦,查看手册发现http_build_query()这个方法的参数1是:可以是数组或包含属性的对象。

那么问题就在于调用的时候不是这两类的类型。

查看错误代码所在的上下文发现,这个参数的来源可能是null类型,好吧,所以增加一个判断,问题解决。

至于会不会造成其他的错误那就不好说了噢。

 

发表评论