twilio Ошибка неперехваченного исключения

Новичок Twilio использует тестовую учетную запись. Я выполнил перечисленные здесь инструкции по установке Twilio php: https://www.twilio.com/docs/quickstart/php/sms

Поскольку я получал ошибку сертификата, мой хост-провайдер предложил изменить CURLOPT_SSL_VERIFYPEER => false (с true). Но теперь я получаю эту ошибку. Как исправить ?: Неустранимая ошибка: Неперехваченное исключение «Services_Twilio_RestException» с сообщением «Запрошенный ресурс /2010-04-01/Accounts//Messages.json не найден» в

require "Services/Twilio.php";

// Step 2: set our AccountSid and AuthToken from www.twilio.com/user/account
$AccountSid = "ACbxxxxxxx";
$AuthToken = "0cfxxxxxxx";

// Step 3: instantiate a new Twilio Rest Client
//$client = new Services_Twilio($AccountSid, $AuthToken);
    $http = new Services_Twilio_TinyHttp(
        'https://api.twilio.com',
        array('curlopts' => array(
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => 2,
        ))
    );

    $client = new Services_Twilio($sid, $token, "2010-04-01", $http);

// Step 4: make an array of people we know, to send them a message. 
// Feel free to change/add your own phone number and name here.
$people = array(
    "+13121111111" => "Curious George",
//  "+14158675311" => "Virgil",
);

// Step 5: Loop over all our friends. $number is a phone number above, and 
// $name is the name next to it
foreach ($people as $number => $name) {

    $sms = $client->account->messages->sendMessage(

    // Step 6: Change the 'From' number below to be a valid Twilio number 
    // that you've purchased, or the (deprecated) Sandbox number
        "929-xxx-xxxx", 

        // the number we are sending to - Any phone number
        $number,

        // the sms body
        "Hey $name, Monkey Party at 6PM. Bring Bananas!"
    );

    // Display a confirmation message on the screen
    echo "Sent message to $name";
}

person cherrie    schedule 23.10.2015    source источник


Ответы (1)


Проповедник разработчиков Twilio здесь.

Во-первых, вы никогда не должны устанавливать для CURLOPT_SSL_VERIFYPEER значение false в производственной среде. Из руководства по curl:

ВНИМАНИЕ: отключение проверки сертификата позволяет злоумышленникам перехватывать связь без вашего ведома. Отключение проверки делает связь небезопасной. Просто иметь шифрование при передаче недостаточно, поскольку вы не можете быть уверены, что общаетесь с правильной конечной точкой.

Ради того, чтобы вы начали работать с Twilio, хотя ваша проблема заключается в именах переменных, которые вы используете.

Вверху файла вы устанавливаете:

$AccountSid = "ACbxxxxxxx";
$AuthToken = "0cfxxxxxxx";

Но когда вы создаете Twilio, вы используете $sid и $token.

$client = new Services_Twilio($sid, $token, "2010-04-01", $http);

Если вы измените их на $AccountSid и $AuthToken, все должно работать так, как вы ожидали.

person philnash    schedule 23.10.2015
comment
филнаш, исправление сработало! Как новичок, я думаю, я был ошеломлен всей новой информацией, и я не видел этой очень простой ошибки. - person cherrie; 23.10.2015
comment
Кроме того, я создам новую публикацию stackoverflow, чтобы обсудить эту проблему с сертификатом. - person cherrie; 23.10.2015
comment
Рад, что теперь он работает! Мы все совершали подобные ошибки в прошлом! Возможно, вы захотите ознакомиться с этим часто задаваемым вопросом об ошибках SSL и посмотреть, помогут ли вам какие-либо исправления: github.com/twilio/twilio-php/blob/master/docs/ - person philnash; 23.10.2015