Codebirdを新しくしようとソースをアップデートしたらいくつか変更があったのと下記のエラーがでたので対処。
Stack traceが下記のように出た。
codebird.phpの923行の何行か前を見てみると
CURLの設定部分がある。
そこでCA証明書の検証と証明書ファイルの指定がしてある。
そんなとこに証明書はないのでエラーになっていた。
一番下の行をコメントアウトしてデフォルトの場所を参照してもらう。
または、証明書の検証をしないでも動作する。
(curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);)
twitterは、基本SSLでの通信なのでひっかかったのであろう。
追記
新しいバージョン(2.5.0)には、cacert.pemが一緒に入っていた。
で、今度はError 77と出た。ところが、SSL_VERIFYPEERをfalseにしてもエラーとなってしまう。
Codebird-phpでError 77のでる件
PHP Fatal error: Uncaught exception 'Exception' with message 'Error 60 while validating the Twitter API certificate.
Stack traceが下記のように出た。
Stack trace:
#0 codebird.php(294): Codebird\Codebird->_callApi('POST', 'statuses/update', 'statuses/update', Array, false, false)
#1 twi_test.php(17): Codebird\Codebird->__call('statuses_update', Array)
#2 twi_test.php(17): Codebird\Codebird->statuses_update(Array)
#3 {main}
thrown in codebird.php on line 923
#0 codebird.php(294): Codebird\Codebird->_callApi('POST', 'statuses/update', 'statuses/update', Array, false, false)
#1 twi_test.php(17): Codebird\Codebird->__call('statuses_update', Array)
#2 twi_test.php(17): Codebird\Codebird->statuses_update(Array)
#3 {main}
thrown in codebird.php on line 923
codebird.phpの923行の何行か前を見てみると
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . '/cacert.pem');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . '/cacert.pem');
CURLの設定部分がある。
そこでCA証明書の検証と証明書ファイルの指定がしてある。
そんなとこに証明書はないのでエラーになっていた。
一番下の行をコメントアウトしてデフォルトの場所を参照してもらう。
または、証明書の検証をしないでも動作する。
(curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);)
twitterは、基本SSLでの通信なのでひっかかったのであろう。
追記
新しいバージョン(2.5.0)には、cacert.pemが一緒に入っていた。
で、今度はError 77と出た。ところが、SSL_VERIFYPEERをfalseにしてもエラーとなってしまう。
Codebird-phpでError 77のでる件
コメント