Как исправить ошибку Stripe: Сетевая ошибка [errno 77]: ошибка установки сертификата, проверка местоположенияPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить ошибку Stripe: Сетевая ошибка [errno 77]: ошибка установки сертификата, проверка местоположения

Сообщение Anonymous »

Я пытаюсь использовать Stripe на своем сайте, но получаю следующую ошибку:

Код: Выделить всё

Fatal error:
Uncaught Stripe\Error\ApiConnection: Unexpected error communicating with Stripe. If this problem persists, let us know at support@stripe.com.
(Network error [errno 77]: error setting certificate verify locations: CAfile: CApath: /etc/ssl/certs) in /var/www/html/assets/vendor/stripe/lib/HttpClient/CurlClient.php:284
Stack trace:
#0 /var/www/html/assets/vendor/stripe/lib/HttpClient/CurlClient.php(241): Stripe\HttpClient\CurlClient->handleCurlError('https://api.str...', 77, 'error setting c...', 0)
#1 /var/www/html/assets/vendor/stripe/lib/HttpClient/CurlClient.php(203): Stripe\HttpClient\CurlClient->executeRequestWithRetries(Array, 'https://api.str...')
#2 /var/www/html/assets/vendor/stripe/lib/ApiRequestor.php(364): Stripe\HttpClient\CurlClient->request('post', 'https://api.str...', Array, Array, false)
#3 /var/www/html/assets/vendor/stripe/lib/ApiRequestor.php(96): Stripe\ApiRequestor->_requestRaw('post', '/v1/charges', Array, Array)
#4 /var/www/html/assets/vendor/stripe/lib/ApiOperations/Request.php(5 in /var/www/html/assets/vendor/stripe/lib/HttpClient/CurlClient.php on line 284
Недавно я создал новую виртуальную машину в Google Compute Engine, используя развертывание LAMP в один клик. Я также использовал Lets Encrypt, чтобы разрешить https. Кроме того, я скачал последнюю версию файла cacert.pem и поместил его в папку /etc/ssl/certs.

Папка сертификатов имеет следующие разрешения. :

Код: Выделить всё

drwxr-xr-x 2 root root     20480 Apr  5 14:31 certs
Файл имеет следующие разрешения:

Код: Выделить всё

-rw-r--r-- 1 root root 219596 Apr  5 14:29 cacert.pem
Я также отредактировал файл php.ini, указав в файлах curl.cainfo и openssl.cafile файл pem, и перезапустил Apache.

Просматривая сайт Stripe, он упомянул, что теперь требуется TLS 1.2. Я подтвердил, что мой сайт использует его. Но некоторые примеры тестового кода на сайте Stripe, похоже, указывают на то, что он не видит TLS 1.2.

Согласно ssllabs.com, мой сайт распознается как имеющий протокол TLS 1.2.

Пример кода Stripe, который я добавил на свой сайт для проверки:

Код: Выделить всё

\Stripe\Stripe::setApiKey("sk_test_BQokikJOvBiI2HlWgH4olfQ2");
try {
\Stripe\Charge::all();
echo "TLS 1.2 supported, no action required.";
} catch (\Stripe\Error\ApiConnection $e) {
echo "TLS 1.2 is not supported. You will need to upgrade your integration.";
}
Я также добавил следующее для получения дополнительной информации о версии:

Код: Выделить всё

echo 'PHP version: ' . phpversion() . PHP_EOL . '
';
echo 'cURL version: ' . curl_version()['version'] . PHP_EOL . '
';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.howsmyssl.com/a/check");
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

echo 'TLS version: ' . json_decode($response)->tls_version . PHP_EOL;
Результат запуска:

Код: Выделить всё

============= Stripe Suggested Test Code ============
TLS 1.2 is not supported. You will need to upgrade your integration.
================================================
==================== Version Code ===================
PHP version: 7.0.33-0+deb9u3
cURL version: 7.52.1
TLS version: TLS 1.2
================================================
На данный момент у меня заканчиваются идеи. Для полной информации: большую часть своего обучения я провожу с помощью поиска в Google и на этом сайте, поэтому буду признателен за любую помощь на уровне программиста-любителя.

Подробнее здесь: https://stackoverflow.com/questions/555 ... ficate-ver
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»