Sjo*_*aar 29 php wamp youtube-api youtube-data-api
我想使用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提供的大多数主题作为解决方案,但无济于事.
Phu*_* An 92
如果你在Windows xampp上.我从这里窃取了更好的答案,如果谷歌向您显示第一个问题,将会有所帮助.
在这里下载并解压缩cacert.pem(一个干净的文件格式/数据)
把它放进去 :
C:\ XAMPP\PHP \演员\ SSL\cacert.pem
将此行添加到php.ini中
curl.cainfo ="C:\ xampp\php\extras\ssl\cacert.pem"
重启你的webserver/apache
Sjo*_*aar 27
看到我正在使用本地环境,我可以安全地禁用SSL,我使用以下方法:
$guzzleClient = new \GuzzleHttp\Client(array( 'curl' => array( CURLOPT_SSL_VERIFYPEER => false, ), ));
$client->setHttpClient($guzzleClient);
Run Code Online (Sandbox Code Playgroud)
$client我的Google_Client()在哪里?
lij*_*nma 13
$guzzleClient = new \GuzzleHttp\Client(['verify' => false]);
Run Code Online (Sandbox Code Playgroud)
Guzzle版本6
你可以参考Guzzle Docs
http://docs.guzzlephp.org/en/latest/request-options.html#verify
我与xamps合作,以上都不对我有用
我尝试了这个并且有效
vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php并改变这个
$conf[CURLOPT_SSL_VERIFYHOST] = 2;
$conf[CURLOPT_SSL_VERIFYPEER] = true;
Run Code Online (Sandbox Code Playgroud)
对此
$conf[CURLOPT_SSL_VERIFYHOST] = 0;
$conf[CURLOPT_SSL_VERIFYPEER] = FALSE;
Run Code Online (Sandbox Code Playgroud)
这是一个临时解决方案,如果您更新了此文件,更改将丢失
小智 5
对于开发和测试的本质,您有两种选择来快速修复
- 使用
$client = new GuzzleHttp\Client();
$request = $client->request('GET',$url, ['verify' => false]); //where $url is your http address
Run Code Online (Sandbox Code Playgroud)
- 按照上面@Pham Huy Anh 的回答然后执行此操作
$client = new GuzzleHttp\Client();
$request = $client->request('GET',$url, ['verify' => 'C:\xampp\php\extras\ssl\cacert.pem']);
Run Code Online (Sandbox Code Playgroud)
希望它能帮助某人。
| 归档时间: |
|
| 查看次数: |
41698 次 |
| 最近记录: |