curl — Sendgrid PHP Использование неопределенной константы CURL_SSLVERSION_TLSv1_2

Я использую Sendgrid API для отправки сообщения электронной почты через HTTP через PHP. Это мой код:

<?php
$url = 'https://api.sendgrid.com/';
$user = 'USER';
$pass = 'PASSWORD';
$params = array(
'api_user'  => $user,
'api_key'   => $pass,
'to'        => 'TARGET',
'subject'   => 'Kami Menanti Anda',
'from'      => '[email protected]',
);
$params['html'] = 'html message';
$params['text'] = $params['html'];
$request =  $url.'api/mail.send.json';
// Generate curl request
$session = curl_init($request);
// Tell curl to use HTTP POST
curl_setopt ($session, CURLOPT_POST, true);
// Tell curl that this is the body of the POST
curl_setopt ($session, CURLOPT_POSTFIELDS, $params);
// Tell curl not to return headers, but do return the response
curl_setopt($session, CURLOPT_HEADER, false);
// Tell PHP not to use SSLv3 (instead opting for TLS)
curl_setopt($session, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// obtain response
$response = curl_exec($session);
curl_close($session);
// print everything out
print_r($response);

Но я получаю это сообщение об ошибке:

Примечание: использование неопределенной константы CURL_SSLVERSION_TLSv1_2 — предполагается
CURL_SSLVERSION_TLSv1_2 в
/opt/lampp/htdocs/oprek/sendgrid/sendviahttp.php в строке 28

Кто-нибудь знает, что происходит?

3

Решение

Похоже, на вашей машине установлена ​​устаревшая сборка CURL.

CURL_SSLVERSION_TLSv1_2 (целое число) Доступно с PHP 5.5.19 и 5.6.3

http://php.net/manual/en/curl.constants.php

3

Другие решения

В зависимости от вашей ситуации, вы можете попробовать использовать целое число, которое представляет константу. В нашем случае (CentOS6, с IUS PHP 5.3.23) константы там не было, но следующее работало просто отлично ..

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://tlstest.paypal.com/");
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
var_dump(curl_exec($ch));
2

if ( ! defined('CURL_SSLVERSION_TLSv1_2')) {
define('CURL_SSLVERSION_TLSv1_2', 6);
}

Добавить код выше, прежде чем

curl_setopt($session, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
0
По вопросам рекламы [email protected]