java,按着示例代码做的,不管怎么样都会报这个异常,有人说示例代码有问题,有谁做过,怎么解决的
我写了一个composer包安装就可以使用。地址:https://packagist.org/packages/leslie/aliyun-sms
今天遇到此坑 调试半天才解决 楼上方法正解 @玩站网 我是php
把 DefaultProfile 和 EndpointProvider 的 private static $endpoints 改成 private static $endpoints = [];
你没看错 这个静态变量不是数组 但是给它赋值的语句是这样的 array_push(self::$endpoints, $endpoint);
endpoints当然只能是null了 我在 DefaultProfile 的 addEndpoint_ 方法最后了一句 EndpointProvider::setEndpoints(self::$endpoints);
最后把 HttpHelper 里的 curl_setopt($ch, CURLOPT_PROXY, HTTP_PROXY_IP);注释 然后就发送成功了
如果有更好的方法还请各位告知
我用的Laravel框架,core下的类都加了namespace。出现这个问题的表面原因是Regions/EndpointConfig.php没有加载,导致EndpointProvider的$endpoints为null。然后发现是因为Config.php没有加载,include_once后,还不行,注释掉Autoloader里面的spl_autoload_register("Autoloader::autoload");就可以了。
终于解决了这个问题,由于我是php代码,代码就懒得贴了,但是思路差不多。
吐槽一下阿里:
云市场叫做 阿里短信服务
官网短信叫做 短信服务
以前有个阿里大鱼,鱼被吃了改为阿里大于
三个接口,相同底层,相同配方和味道,不一样的保证。
用户傻傻分不清,开发者哭晕在厕所。
大体估计代码本身是支持多region的,由于短信至支持杭州, 就发生了错误。
由于我是php代码给你也没多大用。debug一下,EndpointProvider类的参数出了问题,自己补齐一下就OK了
另外还有一个报错,代理ip的问题,去掉代理IP即可。
阿里的sdk目前这个不成熟,新的吧。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。