PHPにTwilio SMS APIを統合しました。そしてコードはGoDaddyのホスティングに取り組んでいます。しかし、ローカルのXAMPPで作業していません。私はオープンネットワークを使用するとうまくいきます。しかし、企業ネットワークの下では失敗している。ファイアーウォールに開けるポートやIPはありますか?使用されるコードは次のとおりです。Twilio SMS APIがXAMPPで例外をスローするのに失敗しました。
require_once ("inc/Services/Twilio.php");
$strFromNumber = "+44xxxxxxxx";
$strToNumber = "+94xxxxxxxx";
$strMsg = "SMS test from twilio :".date('Y-m-d H:i:s');
$aryResponse = array();
$AccountSid = "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx15";
$AuthToken = "0bxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb1";
$objConnection = new Services_Twilio($AccountSid, $AuthToken);
try {
$bSuccess = $objConnection->account->sms_messages->create($strFromNumber,$strToNumber,$strMsg);
} catch (Services_Twilio_RestException $e) {
echo $e->getMessage();
}
$aryResponse["SentMsg"] = $strMsg;
$aryResponse["Success"] = true;
echo json_encode($aryResponse);
エラーがローカルマシンに表示されます。
Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException' with message 'SSL certificate problem: self signed certificate in certificate chain' in C:\xampp\htdocs\SMS\inc\Services\Twilio\TinyHttp.php:84 Stack trace: #0 C:\xampp\htdocs\SMS\inc\Services\Twilio.php(112): Services_Twilio_TinyHttp->__call('post', Array) #1 C:\xampp\htdocs\SMS\inc\Services\Twilio.php(112): Services_Twilio_TinyHttp->post('/2010-04-01/Acc...', Array, 'From=%2B4474813...') #2 C:\xampp\htdocs\SMS\inc\Services\Twilio\ListResource.php(89): Services_Twilio->createData('Accounts/AC6133...', Array) #3 C:\xampp\htdocs\SMS\inc\Services\Twilio\CachingDataProxy.php(115): Services_Twilio_ListResource->createData('AC6133e1339b600...', Array) #4 C:\xampp\htdocs\SMS\inc\Services\Twilio\Resource.php(44): Services_Twilio_CachingDataProxy->createData('SMS/Messages', Array) #5 C:\xampp\htdocs\SMS\inc\Services\Twilio\ListResource.php(59): Services_Twilio_Resource->createData('SMS/Messages', Array) #6 C:\xampp\htdocs\SMS\inc\Services\Twilio\Rest\SmsMessages. in C:\xampp\htdocs\SMS\inc\Services\Twilio\TinyHttp.php on line 84
ローカルウィンドウベースのXAMPPでこの問題を解決するにはどうすればよいですか?制限されたネットワークでこのサービスを許可するには、ポートまたはIPを開く必要がありますか?
オープンネットワークで動作します。しかし、私の会社のネットワークの下では、それは機能していません。ファイアウォール内の任意のIPまたはポートを開く必要がありますか? – sugunan
@sugunanあなたの会社は、SSLトラフィックを復号化するプロキシを使用している可能性があります。あなたが使用しているCA証明書を入手し、ここの答えに記載されている 'cacert.pem'ファイルに追加する必要があります(ファイルの最後に内容をコピー/ペーストするだけです)。バイナリファイル(例:der、p7b、またはpfx)を提供している場合は、標準PEM(https://www.sslshopper.com/ssl-converter.html)に変換できます。 – dprothero