2016-04-18 7 views
1

ich diesen Code in PHP bin mit SMS-Nachrichten an eine bestimmte Nummer empfangen aufzulisten:Twilio: abgefangene Ausnahme ‚Services_Twilio_HttpStreamException‘ mit der Meldung ‚zum Dienst konnte nicht verbinden‘

<?php 
ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

// Get the PHP helper library from twilio.com/docs/php/install 
require_once('twilio/Services/Twilio.php'); // Loads the library 

// Your Account Sid and Auth Token from twilio.com/user/account 
$sid = ""; 
$token = ""; 
$client = new Services_Twilio($sid, $token); 

$messages = $client->account->messages->getIterator(0, 50, array(
    'To' => $_SERVER['QUERY_STRING'] 
)); 

foreach ($messages as $message) { 
    echo "<tr><td>" . $message->from . "</td><td>" . $message->date_sent . "</td><td>" . $message->body . "</td></tr>"; 
} 
?> 

aber es ausgibt diese Fehlermeldung :

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 /var/www/temp-sms.com/twilio/Services/Twilio/HttpStream.php on line 67 

Warning: file_get_contents(): Failed to enable crypto in /var/www/temp-sms.com/twilio/Services/Twilio/HttpStream.php on line 67 

Warning: file_get_contents(https://api.twilio.com/2010-04-01/Accounts/AC049b65c32bd0cad6a229b44719ac6116/Messages.json?Page=0&PageSize=50&To=%2B16466635449): failed to open stream: operation failed in /var/www/temp-sms.com/twilio/Services/Twilio/HttpStream.php on line 67 

Fatal error: Uncaught exception 'Services_Twilio_HttpStreamException' with message 'Unable to connect to service' in /var/www/temp-sms.com/twilio/Services/Twilio/HttpStream.php:70 Stack trace: #0 [internal function]: Services_Twilio_HttpStream->__call('get', Array) #1 [internal function]: Services_Twilio_HttpStream->get('/2010-04-01/Acc...') #2 /var/www/temp-sms.com/twilio/Services/Twilio.php(260): call_user_func_array(Array, Array) #3 /var/www/temp-sms.com/twilio/Services/Twilio.php(236): Base_Services_Twilio->_makeIdempotentRequest(Array, '/2010-04-01/Acc...', 1) #4 /var/www/temp-sms.com/twilio/Services/Twilio/ListResource.php(125): Base_Services_Twilio->retrieveData('/2010-04-01/Acc...', Array) #5 /var/www/temp-sms.com/twilio/Services/Twilio/ListResource.php(179): Services_Twilio_ListResource->getPage(0, 50, Array, NULL) #6 [internal function]: Services_Twilio_ListResource->getPageGenerator(0, 50, Array, NULL) #7 /var/www/temp-sms.com/twilio/Services/Twilio/AutoPagingIterator.php(104): call_user_func_array(Array, Array in /var/www/temp-sms.com/twilio/Services/Twilio/HttpStream.php on line 70 

aktualisieren

php5-curl installiert, wie durch @philnash und neu gestartet wird vorgeschlagen .

Neue Fehlermeldung:

Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException' with message 'SSL certificate problem: self signed certificate in certificate chain' in /var/www/temp-sms.com/twilio/Services/Twilio/TinyHttp.php:119 Stack trace: #0 [internal function]: Services_Twilio_TinyHttp->__call('get', Array) #1 [internal function]: Services_Twilio_TinyHttp->get('/2010-04-01/Acc...') #2 /var/www/temp-sms.com/twilio/Services/Twilio.php(260): call_user_func_array(Array, Array) #3 /var/www/temp-sms.com/twilio/Services/Twilio.php(236): Base_Services_Twilio->_makeIdempotentRequest(Array, '/2010-04-01/Acc...', 1) #4 /var/www/temp-sms.com/twilio/Services/Twilio/ListResource.php(125): Base_Services_Twilio->retrieveData('/2010-04-01/Acc...', Array) #5 /var/www/temp-sms.com/twilio/Services/Twilio/ListResource.php(179): Services_Twilio_ListResource->getPage(0, 50, Array, NULL) #6 [internal function]: Services_Twilio_ListResource->getPageGenerator(0, 50, Array, NULL) #7 /var/www/temp-sms.com/twilio/Services/Twilio/AutoPagingIterator.php(104): in /var/www/temp-sms.com/twilio/Services/Twilio/TinyHttp.php on line 119 
+0

Das ist komisch, können Sie andere ausgehende API-Aufrufe (an Twilio oder einen anderen Dienst) von Ihrem Server ausführen? – philnash

+0

@philnash Hallo. Ich vermisste auch die Warnmeldungen. Ich habe diese jetzt hinzugefügt. Helfen diese überhaupt? Ich bin Twilio ganz neu und wenig API-Erfahrung (überall). Ich betreibe dies auf einer Linode. – user6219126

+0

Mögliches Duplikat von [Twilio PHP API Libraries: Warnung: Datei \ _get \ _contents(): SSL-Operation fehlgeschlagen mit Code 1] (http://stackoverflow.com/questions/27313186/twilio-php-api-librarie-warning- file-get-contents-ssl-operation-failed-with) – philnash

Antwort

1

Twilio Entwickler Evangelist hier.

Dies ist eine ähnliche Frage zu this one, also habe ich die Antwort hier repliziert. Es kann jedoch besser sein, die Regeln von StackOverflow als Duplikat zu schließen.

-

Ich fand dies passiert, wenn Sie nicht über die curl-Bindings für PHP haben. Versuchen Sie recompiling PHP with curl oder installing the php5-curl package.

Lassen Sie mich wissen, ob das überhaupt hilft.

[Bearbeiten]

Wenn Sie Sie finden nun einen Fehler in Bezug auf selbstsignierte Zertifikate bekommen wollen Sie den Rat in der Twilio PHP FAQ folgen.

+0

Ich gebe das eine Chance. Hast du jemals herausgefunden warum? (wie die Kommentare dort). Vielen Dank. – user6219126

+0

In Bezug darauf, warum 'curl' über' file_get_contents' funktioniert, weiß ich nicht genau. Ich kann Ihnen sagen, dass die Twilio-Bibliothek PHP-Umgebungen mit und ohne Curl unterstützt, aber es scheint, dass die Curl-Version die meiste Zeit besser geeignet ist. Sie könnten die andere Antwort auf dieser Seite versuchen, die die Zertifikate für 'file_get_contents' festlegt. Ich bin aber immer noch kein PHP-Entwickler, daher kann ich leider nicht genau antworten. – philnash

+0

Installed 'php5-curl' wie vorgeschlagen und neu gestartet, aber jetzt bekomme ich eine neue Fehlermeldung. – user6219126