0

twilio SMS コードをテストしましたが、いくつか問題があります。ライブラリはhttps://www.twilio.com/docs/php/installにあります。

使用したコードは次のとおりです。

<?php

require "twilio-php/Services/Twilio.php";

// set your AccountSid and AuthToken from www.twilio.com/user/account
$AccountSid = "*******";
$AuthToken = "*********";

$client = new Services_Twilio($AccountSid, $AuthToken);

$message = $client->account->messages->create(array(
"From" => "+14806669029",
"To" => "923331524145",
"Body" => "Test message!",
));

// Display a confirmation message on the screen
echo "Sent message {$message->sid}";

?>

これを実行すると、次のエラーが発生します。

Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException'
with message 'SSL certificate problem: self signed certificate in
certificate chain' in
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\TinyHttp.php:119 Stack
trace: #0 C:\xampp\htdocs\sms\twilio-php\Services\Twilio.php(181):
Services_Twilio_TinyHttp->__call('post', Array) #1
C:\xampp\htdocs\sms\twilio-php\Services\Twilio.php(181):
Services_Twilio_TinyHttp->post('/2010-04-01/Acc...', Array,
'From=%2B1480666...') #2
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\ListResource.php(92):
Base_Services_Twilio->createData('/2010-04-01/Acc...', Array) #3
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\Rest\Messages.php(24):
Services_Twilio_ListResource->_create(Array) #4
C:\xampp\htdocs\sms\send-sms.php(15):
Services_Twilio_Rest_Messages->create(Array) #5 {main} thrown in
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\TinyHttp.php on line
119
4

4 に答える 4

0

これを参照してください: https://github.com/twilio/twilio-php/blob/master/docs/faq.rst

それは言います:

SSL 検証の例外

古いバージョンの libcurl を使用している場合、SSL 検証の例外が発生する可能性があります。次のエラー メッセージが表示された場合は、SSL 検証の例外があります。

Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException'
with message 'SSL certificate problem, verify that the CA cert is OK.

Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
verify failed' in [MY PATH]\Services\Twilio\TinyHttp.php:89

これは、Twilio が実際にhttps://api.twilio.comに接続していることを確認するために証明書を提供しようとしているが、curl クライアントが証明書を確認できないことを意味します。

于 2015-02-25T12:09:44.193 に答える
0

ステップ 1 :ファイルをダウンロードし、「cacert.pem」としてプロジェクトのルート ディレクトリに保存します。

https://www.thawte.com/roots/thawte_Premium_Server_CA.pem

ステップ 2: php.ini ファイル (:\xampp\php\php.ini) を開き、最後に次の行を追加します。

curl.cainfo="C:\xampp\htdocs\smstest\cacert.pem"

ステップ 3 :コードを実行します。

例 :

<?php 

require '/twilio-php/Services/Twilio.php';

$sid = "ACxxxxxxxxxxxxxxx"; // Your Account SID from www.twilio.com/user/account
$token = "Auth token"; // Your Auth Token from www.twilio.com/user/account

$client = new Services_Twilio($sid, $token);


$message = $client->account->messages->sendMessage(
  '+1123-456-0789', // From a valid Twilio number
  '+9112346790', // Text this number
  "Hello,you get an contact request from webiste"
);

print $message->sid;

?>
于 2016-03-19T10:12:55.857 に答える
0

http://curl.haxx.se/docs/caextract.htmlから cacert.pem をダウンロードし 、ダウンロードしたファイルのパスを含めるように php.ini を変更して問題を解決しました (私の場合は C:\ にコピーしました)。 xampp\php) を作成し、php.ini ファイルの末尾に次の行を追加します。

curl.cainfo=c:\xampp\php\cacert.pem

ファイルを保存して Apache を再起動すると、エラーが消え、Twilio システムを使用して SMS を送信できるようになりました。

于 2016-01-07T14:50:50.477 に答える