最近项目中要用到给国外的手机发送短信,国外的话,阿里云的短信服务就不支持了,就想到了亚马逊,

亚马逊有一个Simple Notification Service,即可以给手机发推送,也能发短信来通知用户,

他提供了JavaSDK和PHP SDK,因为PHP比较容易,我就选择了PHP,因为我的网站www.orangeui.cn也能用它做的,

我用的网站安装程序是WAMP,打包了Apache,MySql,和PHP,

然后就参考网上的文章开始试了,结果报错,

ssl certificate problem unable to get local issuer certificate

我从晚上七点开始百度,一直摆到12点,解决方案都差不多,

就是下载一个证书,然后设置php.ini里面curl

[curl]

; A default value for the CURLOPT_CAINFO option. This is required tobe an

; absolute path.

curl.cainfo = “C:/ca-bundle.crt”

我一切都照做了,不断的下载不同版本的证书,不断的更换证书的目录,

C盘也放了,windows也放了,system32也放了,syswow64也放了,php目录也放了,

apache也重启了好多次,见鬼了就是不行,没办法,想着明天再试吧,

第二天一得空,就再找,在stackoverflow上瞅着一篇问题和我一样,

其实昨天也看过的,也照着做了,心想想,从上到下仔细再看看,

因为它里面是会话式的,有很多热心的人提供不同的方案,

我发现里面有人说到在网页用下面这句代码来查看一下配置是否正确,

echo “curl.cainfo: “, ini_get(‘curl.cainfo’), “<p>”;

然后我就看了,发现输出为空,这就怪了,我明明是设置了的呀,

里面又有人提到phpinfo()这个函数,查看下配置

发现这个函数列出来的php.ini的路径和我所改的php.ini的路径不一样,

我的天啊,我一直在改php安装目录下面的php.ini,

但是Apache用的确是它apache安装目录下面的php.ini,

郁闷死心,终于找到这个正确的php.ini,按网上常用的方法配置,就解决了,