Guzzle使用Dev Desktop的Drupal 8出错“cURL错误60:SSL证书......”

时间:2018-01-23 16:24:39

标签: php curl drupal guzzle acquia

MacOS 10.11

开发桌面版本2

PHP 5.6

尝试加载包含Google Map的Drupal 8模板页面。适用于生产和开发服务器,但不适用于本地。页面显示“该网站遇到意外错误。请稍后再试。”加载本地和后跟踪时出错显示以下信息:

错误:

imageStack

诊断:

GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) in GuzzleHttp\Handler\CurlFactory::createRejection() (line 187 of vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php).

回溯:

array(8) { ["default_cert_file"]=> string(68) "/Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/cert.pem" ["default_cert_file_env"]=> string(13) "SSL_CERT_FILE" ["default_cert_dir"]=> string(65) "/Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/certs" ["default_cert_dir_env"]=> string(12) "SSL_CERT_DIR" ["default_private_dir"]=> string(67) "/Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl/private" ["default_default_cert_area"]=> string(59) "/Users/acquia/csbworkdir/dmitrybezer/libopenssl/install/ssl" ["ini_cafile"]=> string(47) "/Applications/DevDesktop/common/cert/cacert.pem" ["ini_capath"]=> string(0) "" }

似乎正在使用“default_cert_file”(并且本地不存在),并且确实存在“/Applications/DevDesktop/common/cert/cacert.pem”的文件不是。默认是从Dev Desktop中的PHP构建硬连线。我不确定Guzzle是否不打算从可用列表中找到其他选项,或者我是否还有其他问题。

有没有办法从php.ini中覆盖“default_cert_file”......?或者有更好的解决方案吗?

我甚至创建了default_cert_file正在查找的位置,以查看是否可以解决它,但事实并非如此。

2 个答案:

答案 0 :(得分:1)

尝试从那里下载证书文件:

https://curl.haxx.se/ca/cacert.pem

并使用

附加php.ini

cordova platform add android

你应该好好去

答案 1 :(得分:0)

从链接中获取cacert.pem,然后将其复制到/ Program Files(x86)/ DevDesktop / common / cert文件夹。该位置已在DevDesktop中的php.ini中引用。