我正在Windows 7中通过MAMP运行Laravel 5.4.36,我正在尝试使用guzzle 6.0使用以下代码将get请求发送到api:
document.querySelectorAll(".class1, .class2, class3");
运行此命令时,我收到cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html),我经历了无数stackoverflow帖子,并尝试了所有解决方案,包括更改curl.cainfo和opensll php.ini文件中的路径。最后看一下文档,我找到了这个解决方案:
const nodeList = document.querySelectorAll(".class1, .class2, class3");
nodeList.forEach((el)=>{ el.style.transitionDuration = '5s' })
这很好用,直到我插入一个php查询,这样我才能通过以下代码与api进行交互:
$client = new Client();
$res = $client->request('GET', "https://api.behance.net/v2/projects?
q=motorcycle&client_id=hU0hcPkrtXxTi0PH1qUB5jztXI1R7iLB");
$data = $res->getBody();
$data = json_decode($data);
$filteredData = [];
这带来了相同的cURL错误消息,但我仍然找不到它。当我使用var_dump(openssl_get_cert_locations());我回来了:
rray(8){[“” default_cert_file“] =>字符串(25)” c:/usr/local/ssl/cert.pem“ [” default_cert_file_env“] =>字符串(13)” SSL_CERT_FILE“ [” default_cert_dir “] =>字符串(22)” c:/ usr / local / ssl / certs“ [”“ default_cert_dir_env”] =>字符串(12)“ SSL_CERT_DIR” [“ default_private_dir”] =>字符串(24)“ c:/ usr / local / ssl / private“ [” default_default_cert_area“] =>字符串(16)” c:/ usr / local / ssl“ [” ini_cafile“] =>字符串(0)”“ [” ini_capath“] =>字符串( 0)“”}
问题是我的计算机中不存在c:/usr/local/ssl/cert.pem。我不知道从这里去哪里,因为我已经精疲力尽,我对Laravel还是陌生的。我希望有人可以阐明这个问题...
我找到了解决问题的方法,以防其他人遇到相同的情况,这是对我有用的:
$client = new Client();
$res = $client->request('GET', "https://api.behance.net/v2/projects?
q=motorcycle&client_id=hU0hcPkrtXxTi0PH1qUB5jztXI1R7iLB",
['verify' => 'C:\MAMP\cacert.pem']
);
$data = $res->getBody();
$data = json_decode($data);
$filteredData = [];