2016-11-16 1 views
2

Я интегрирую Twilio SMS API на PHP. И код работает на хостинге GoDaddy. Но не работает на местном XAMPP. Когда я использую открытую сеть, он работает нормально. Но в результате работы сети он терпит неудачу. Есть ли какой-либо порт или IP-адрес, который будет открыт на стене огня? Ниже приведен код.Twilio SMS api не удалось исключить исключение на XAMPP любой порт или IP, который будет открыт

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-адрес, чтобы разрешить эту услугу за ограниченную сетевую работу?

ответ

1

isue документирована здесь: https://support.twilio.com/hc/en-us/articles/235279367-Twilio-PHP-helper-library-SSL-certificate-problem-on-Windows

Существует проблема с php_curl библиотеки на Windows. Он не использует обновленный список сертификатов CA Root. Вы можете получить файл корневых сертификатов pem с сайта curl.

Чтобы устранить эту проблему, пожалуйста, попробуйте следующее:

  1. Загрузите следующий файл PEM: https://curl.haxx.se/ca/cacert.pem

  2. Скопируйте этот файл в C: \ серт \ cacert.pem

  3. Открыть php.ini в вашем любимом редакторе (see here о том, где его найти)

  4. Если th e следующая строка конфигурации: curl.cainfo существует в вашем php.ini, пожалуйста, раскомментируйте его, удалив ";" и изменить путь для того, чтобы указать его в файл cacert.pem вы скачали, например: (! очень важный)

    ;;;;;;;;;;;;;;;;;;; 
    ; Module Settings ; 
    ;;;;;;;;;;;;;;;;;;; 
    
    curl.cainfo=c:\cert\cacert.pem 
    
  5. Перезапустите Apache или IIS службы, чтобы применить изменения

Пожалуйста, попробуйте и дайте мне знать, если это сработает для вас.

+0

Работает на открытой сети. Но под моей сетевой сетью она не работает. Должен ли я открывать любой IP-порт или порт в брандмауэре? – sugunan

+1

@sugunan ваша компания может использовать прокси-сервер, который расшифровывает SSL-трафик. Вам может потребоваться связаться с ними, чтобы получить сертификат CA, который они используют, и добавить в файл 'cacert.pem', упомянутый в ответе здесь (просто скопируйте/вставьте содержимое в конец файла). Если они дают вам двоичный файл (например, der, p7b или pfx), вы можете преобразовать его в стандартный PEM здесь: https://www.sslshopper.com/ssl-converter.html – dprothero

Смежные вопросы