При попытке создать новую вспомогательную учетную запись этот код работает при развертывании (по URL-адресам https: // и http: //), но не локально в SDK:
require 'php/twilio-php/Services/Twilio.php';
require 'php/includes/twil_creds.php';
$client = new Services_Twilio($account_sid, $auth_token);
try {
$account = $client->accounts->create(array(
'FriendlyName' => 'New Account'
));
} catch(Services_Twilio_RestException $e) {
echo $e->getMessage();
}
Когда я запускаю его локально, я получаю эту ошибку:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in C:\ivr3mil\php\twilio-php\Services\Twilio\HttpStream.php on line 62
Warning: file_get_contents(): Failed to enable crypto in C:\ivr3mil\php\twilio-php\Services\Twilio\HttpStream.php on line 62
Warning: file_get_contents(https://api.twilio.com/2010-04-01/Accounts.json): failed to open stream: operation failed in C:\ivr3mil\php\twilio-php\Services\Twilio\HttpStream.php on line 62
Fatal error: Uncaught exception 'Services_Twilio_HttpStreamException' with message 'Unable to connect to service' in C:\ivr3mil\php\twilio-php\Services\Twilio\HttpStream.php:65 Stack trace: #0 C:\ivr3mil\php\twilio-php\Services\Twilio.php(226): Services_Twilio_HttpStream->__call('post', Array) #1 C:\ivr3mil\php\twilio-php\Services\Twilio.php(226): Services_Twilio_HttpStream->post('/2010-04-01/Acc...', Array, 'FriendlyName=Ne...') #2 C:\ivr3mil\php\twilio-php\Services\Twilio\ListResource.php(92): Services_Twilio->createData('/2010-04-01/Acc...', Array) #3 C:\ivr3mil\php\twilio-php\Services\Twilio\Rest\Accounts.php(23): Services_Twilio_ListResource->_create(Array) #4 C:\ivr3mil\twiltest.php(11): Services_Twilio_Rest_Accounts->create(Array) #5 C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\devappserver2\php\setup.php(106): require('C:\\ivr3mil\\twil...') #6 {main} thrown in C:\ivr3mil\php\twilio-php\Services\Twilio\HttpStream.php on line 65
SDK обновлен, и я скачал библиотеку PHP из Twilio прямо вчера.
Любой вклад в то, почему это происходит, будет оценен!
Вот как я исправил проблему. редактировать Twilio.php
, прямо над verify_peer
, добавьте эту строку:
'cafile' => '/etc/ssl/certs/ca-certificates.crt',
Это исправление работало для меня на Ubuntu 14.04 с PHP 5.5.9.
Я не могу высказать или прокомментировать, но исправление Рона ДеФулио сработало и для меня.
Надеясь, что кто-то из Twilio видит это и звонит.
Я добавил ссылку на эту тему в мой открытый тикет поддержки с Twilio по этой же проблеме.