我在Windows 7上运行PHP版本5.6.3作为XAMPP的一部分.
当我尝试使用Mandrill API时,我收到以下错误:
未捕获的异常'Mandrill_HttpError',消息'API调用消息/发送模板失败:SSL证书问题:无法获取本地颁发者证书'
我已经尝试过在StackOverflow上阅读的所有内容,包括将以下内容添加到php.ini文件中:
curl.cainfo = "C:\xampp\php\cacert.pem"
Run Code Online (Sandbox Code Playgroud)
并且当然从http://curl.haxx.se/docs/caextract.html下载到该位置的cacert.pem文件
但毕竟,重新启动XAMPP和Apache服务器但仍然得到相同的错误.
我真的不知道还有什么可以尝试的.
任何人都可以建议我还能尝试什么?
我想使用YouTube数据API收集在特定频道上传的视频列表.但是,在线实现之前,我试图让我的代码在离线环境中运行(WAMPserver,PHP 5.5.12,Apache 2.4.9).我使用以下代码:
require_once 'google-api-php-client-2.0.0-RC5/vendor/autoload.php';
$client = new Google_Client();
$client->setApplicationName("SRC_Thor");
$client->setDeveloperKey("xxxxxxxxxxx");
$youtube = new Google_Service_YouTube($client);
$channelResponse = $youtube->channels->listChannels('contentDetails', []);
var_dump($channelResponse);
Run Code Online (Sandbox Code Playgroud)
但是它会出现以下错误:
致命错误:未捕获异常'GuzzleHttp\Exception\RequestException',消息'cURL错误60:SSL证书问题:无法获取本地颁发者证书(请参阅参考资料'
http://curl.haxx.se/libcurl/c/libcurl-errors.html)
我已经尝试添加最新版本cacert.pem作为SO提供的大多数主题作为解决方案,但无济于事.
假设我设置了一个符号链接:
mklink /D C:\root\Public\mytextfile.txt C:\root\Public\myothertextfile.txt
Run Code Online (Sandbox Code Playgroud)
编者注:选项/D- 用于创建目录符号链接 - 与目标文件不一致,如本示例所示,这引起了一些混淆.要创建文件符号链接,只需省略即可/D.
有没有办法mytextfile.txt使用命令行查看目标是什么?
我想尝试一下guzzle库,然后通过他们的快速入门教程来向api发出http请求.
但它似乎不起作用,因为我收到以下错误:
cURL error 3: <url> malformed
Run Code Online (Sandbox Code Playgroud)
由于我之前从未使用过cURL,因此我甚至不知道如何回复该错误消息.以下是我提出的请求的代码:
$client = new Client();
$client->get('/', ['verify' => true]);
$response = $client->get('https://api.github.com/');
dd($response);
Run Code Online (Sandbox Code Playgroud)
我正在使用Laravel 5框架并在我的HomeController中调用索引方法.我也在使用WAMP.
我会感激任何帮助和建议,因为我想尝试Guzzle out.
这是我收到的错误消息的图片:

我正在尝试使用以下代码在 laravel 中向付款端点发出发布请求
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http;
class AddCardController extends Controller
{
//
public function index()
{
return view("addcard");
}
public function requestPayment(Request $request)
{
$paystack_key = \config("app.paystack_key");
$url = "https://api.paystack.co/transaction/initialize";
$email = $request->user("distributors")->email;
$fields = [
"email"=>$email,
"amount"=>50*100,
"channels"=>["card"],
"callback_url"=>"d"
];
$query = http_build_query($fields);
$response = Http::post($url,$fields)::withHeaders(["Authorization: Bearer $paystack_key",
"Cache-Control: no-cache",])::withOptions(["verify"=>false]);
return $response;
}
}Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://api.paystack.co/transaction/initialize
Run Code Online (Sandbox Code Playgroud)
我在 Apache 本地运行我的 Laravel …
完全错误
RequestException in CurlFactory.php line 187: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
脚本
在任何人向我指出这两个laracasts答案之前:https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate
我已经看过他们了,这就是为什么我在这里,
我的问题是我现在有cacert.pem文件,但它没有意义放在哪里,答案表明将文件放在我的xampp目录并更改我的php.ini文件,但我不使用xampp的任何东西,我使用laravel的工匠服务器来运行我的项目.如果没有使用xampp那么我在哪里放置这个文件等等,为什么接受的答案是将它放在我的xampp目录中我不明白
我的确切问题
我在哪里放置cacert.pem文件以在laravel 5.4中停止此错误?
当要求 Facebook通过 https抓取我的页面时,我收到“卷曲错误:SSL_CACERT SSL 证书问题:无法获得本地颁发者证书” 。我该如何解决这个问题,以便 Facebook 可以无误地抓取我的页面?
该页面通过代理到 IIS 10 的 Apache 2.4 托管。Apache 处理所有证书,而 IIS 位于本地网络上。我的页面正在运行 asp 代码(所以没有 php)和类似于这些的解决方案:编辑 php.ini 文件或将 curl.pem 添加到 php 文件夹将无法解决我的问题......或者我认为?!?
IIS 没有安装证书。
我确实extension=php_curl.dll启用了 -- 并extension_dir = 'C:\64bit\php-7.0.6-Win32-VC14-x64\ext'在我的 php.ini 文件中定义。我按照以下步骤在 Windows 上安装 Curl。并且 phpinfo.php 确认启用了 cURL(cURL 信息 7.47.1)。
我的 Apache 配置文件中的代理设置是:
<IfModule mod_proxy.c>
ProxyRequests Off
ProxyPass / http://192.168.1.101:88/com_ssl/
ProxyPassReverse / http://192.168.1.101:88/com_ssl/
RewriteRule ^(.+)$ https://www.domainname.com/$1 [P,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我的Apache 代理配置文件中没有定义RequestHeader, …
PHP版本:5.6
问题:我收到错误:
cURL error 60: SSL certificate problem: unable to get local issuer certificate.
Run Code Online (Sandbox Code Playgroud)
我尝试解决此问题的步骤:
php -r "readfile('https://symfony.com/installer');" > symfony
从https://curl.haxx.se/ca/cacert.pem下载包含更新的证书列表的文件。
设置路径在php.ini
curl.cainfo =D:\xampp_tomact\php\extras\ssl\cacert.pem
openssl.cafile=D:\xampp_tomact\php\extras\ssl\cacert.pem
阿帕奇重启
然后我尝试用
php symfony new my_project_name
Run Code Online (Sandbox Code Playgroud)我从链接中获得了帮助
http://symfony.com/doc/current/setup.html
但没有一个解决方案在 xampp windows 中有效。
请建议
我再次尝试的步骤
d:\xampp\htdocs> php -r "readfile('http://symfony.com/installer');" > symfonyd:\xampp\htdocs\projects> php symfonysymfony new my_project_name。执行上面第三条命令后出错:
cURL error 60: SSL certificate problem: unable to get local issuer
Run Code Online (Sandbox Code Playgroud)
安装 symfony 时仍然没有解决此错误。
我还关注了 symfony 文档
我也尝试过最后的解决方案:
GuzzleHttp\Exception\RequestException cURL 错误 60:SSL 证书问题:无法获取本地颁发者证书(请参阅https://curl.haxx.se/libcurl/c/libcurl-errors.html)
如何解决这个错误我正在尝试谷歌上可用的所有内容,包括以下描述几次
下载这个文件:http ://curl.haxx.se/ca/cacert.pem 把这个文件放在C:\wamp64\bin\php\php7.1.9文件夹打开php.ini,找到这一行:;curl.cainfo
将其更改为:
curl.cainfo = "C:\wamp64\bin\php\php7.1.9\cacert.pem"
但它仍然对我不起作用,请帮助我,我现在很沮丧......
我尝试使用 Google API,但是,当我运行它时,它显示以下错误:
GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: u
nable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl
-errors.html) in C:\wamp64\www\apigmail\vendor\guzzlehttp\guzzle\src\Handler\Cur
lFactory.php on line 187
Run Code Online (Sandbox Code Playgroud)
我使用 WAMP -Server PHP v 7.0.13