Я протестировал смс-код twilio, но у меня возникли некоторые проблемы. Библиотеку можно найти по адресу https://www.twilio.com/docs/php/install.
Вот код, который я использовал:
<?php
require "twilio-php/Services/Twilio.php";
// set your AccountSid and AuthToken from www.twilio.com/user/account
$AccountSid = "*******";
$AuthToken = "*********";
$client = new Services_Twilio($AccountSid, $AuthToken);
$message = $client->account->messages->create(array(
"From" => "+14806669029",
"To" => "923331524145",
"Body" => "Test message!",
));
// Display a confirmation message on the screen
echo "Sent message {$message->sid}";
?>
При запуске этого возникает следующая ошибка:
Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException'
with message 'SSL certificate problem: self signed certificate in
certificate chain' in
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\TinyHttp.php:119 Stack
trace: #0 C:\xampp\htdocs\sms\twilio-php\Services\Twilio.php(181):
Services_Twilio_TinyHttp->__call('post', Array) #1
C:\xampp\htdocs\sms\twilio-php\Services\Twilio.php(181):
Services_Twilio_TinyHttp->post('/2010-04-01/Acc...', Array,
'From=%2B1480666...') #2
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\ListResource.php(92):
Base_Services_Twilio->createData('/2010-04-01/Acc...', Array) #3
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\Rest\Messages.php(24):
Services_Twilio_ListResource->_create(Array) #4
C:\xampp\htdocs\sms\send-sms.php(15):
Services_Twilio_Rest_Messages->create(Array) #5 {main} thrown in
C:\xampp\htdocs\sms\twilio-php\Services\Twilio\TinyHttp.php on line
119
Порекомендуйте это: https://github.com/twilio/twilio-php/blob/master/docs/faq.rst
Это говорит:
Исключения проверки SSL
Если вы используете устаревшую версию libcurl, вы можете столкнуться с исключениями проверки SSL. Если вы видите следующее сообщение об ошибке, у вас есть исключение проверки SSL:
Fatal error: Uncaught exception 'Services_Twilio_TinyHttpException'
with message 'SSL certificate problem, verify that the CA cert is OK.
Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
verify failed' in [MY PATH]\Services\Twilio\TinyHttp.php:89
Это означает, что Twilio пытается предложить сертификат, подтверждающий, что вы действительно подключаетесь к https://api.twilio.com, но ваш клиент curl не может проверить наш сертификат.
Следуйте инструкциям скимбрела из эта ссылка. Затем добавьте сертификат от комментария волос. Ваша проблема должна быть решена.
Я решил проблему с загрузкой cacert.pem с http://curl.haxx.se/docs/caextract.html и изменив мой php.ini, включив в него путь к загруженному файлу (в моем случае я скопировал его в C: \ xampp \ php), добавив следующую строку в конец файла php.ini:
curl.cainfo=c:\xampp\php\cacert.pem
После сохранения файла и перезапуска Apache ошибка исчезла, и я смог отправить смс, используя систему Twilio.
шаг 1 : скачайте файл и сохраните как ‘cacert.pem’ в корневой каталог вашего проекта
https://www.thawte.com/roots/thawte_Premium_Server_CA.pem
шаг 2: Откройте файл php.ini (: \ xampp \ php \ php.ini) и добавьте следующую строку в конце.
curl.cainfo="C:\xampp\htdocs\smstest\cacert.pem"
шаг 3 : запустить свой код
Пример :
<?php
require '/twilio-php/Services/Twilio.php';
$sid = "ACxxxxxxxxxxxxxxx"; // Your Account SID from www.twilio.com/user/account
$token = "Auth token"; // Your Auth Token from www.twilio.com/user/account
$client = new Services_Twilio($sid, $token);$message = $client->account->messages->sendMessage(
'+1123-456-0789', // From a valid Twilio number
'+9112346790', // Text this number
"Hello,you get an contact request from webiste");
print $message->sid;
?>