本地PHP环境连接AWS DynamoDB遇SSL证书问题的解决方法
解决本地PHP环境连接AWS DynamoDB的SSL证书错误问题
你遇到的cURL error 60是因为本地PHP环境缺少可信的SSL根证书,无法验证DynamoDB服务端的HTTPS证书。EC2实例能正常运行是因为AWS系统默认配置了完整的根证书链。以下是具体解决步骤:
正式解决方案(推荐用于开发/生产环境)
- 下载CA根证书文件:获取标准的CA根证书包
cacert.pem,确保文件为最新版本。 - 配置PHP使用证书:
- 找到本地PHP的
php.ini配置文件(可通过在PHP页面执行phpinfo()查看当前加载的配置文件路径)。 - 在
php.ini中添加或修改以下两行配置,替换为你的cacert.pem文件绝对路径:curl.cainfo = "/完整路径/cacert.pem" openssl.cafile = "/完整路径/cacert.pem"
- 找到本地PHP的
- 重启服务:重启本地Web服务器(如Apache、Nginx)和PHP-FPM(若使用),使配置生效。
临时测试方案(仅用于本地调试,禁止生产环境使用)
如果只是临时验证代码逻辑,可在AWS SDK配置中临时禁用SSL证书验证:
$sdk = new Aws\Sdk([ 'region' => 'eu-central-1', 'version' => 'latest', 'credentials' => array( 'key' => 'MY_KEY', 'secret' => 'MY_SECRET' ), 'ssl.certificate_authority' => false // 仅测试用,生产环境必须删除此配置 ]);
内容的提问来源于stack exchange,提问作者johndeeregreen
相关产品推荐
相关产品推荐

