Что означает эта ошибка CURL: OpenSSL SSL_read: нет ошибки - PullRequest
0 голосов
/ 05 февраля 2020

Я получаю эту ошибку: "OpenSSL SSL_read: нет ошибок" Я провел некоторые исследования и не смог ничего найти. Мы создали новый сервер с теми же настройками, теми же файлами, но по какой-то причине мы продолжаем получать эту ошибку. Единственная разница - PHP 7,4 (на новом сервере) против PHP 7,1 и PHP 5,6 (на старых серверах). Я не думаю, что это связано с PHP версией.

Apache / 2.4.41 (Win64) OpenSSL / 1.1.1 c PHP / 7.4.0 (новый сервер)

Apache / 2.4.33 (Win64) OpenSSL / 1.1.0h PHP / 7.2.5 (старый сервер)

curl 7.55.1 (Windows)

Пожалуйста, помогите.

Новые серверы: Windows Сервер 2019. На этих серверах уже установлен CURL, а файл curl.exe находится в C: \ Windows \ System32. Версия этого CURL - 7.55.1 OpenSSL / 1.1.1c. Когда я отправляю запрос CURL из файла PHP, версия CURL - 7.67.0 OpenSSL / 1.1.1a

Когда я отправляю тот же самый запрос curl из командной строки я получаю все данные (curl 7.55.1), но когда я пытаюсь выполнить PHP (curl 7.67.0), я получаю эту ошибку: «OpenSSL SSL_read: No error».

    $headers = array(
        "Content-type: text/xml",
        "Content-length: " . strlen($xml),
        "Connection: close",
    );
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $data = curl_exec($ch); 
    $err = curl_error($ch);

1 Ответ

0 голосов
/ 11 февраля 2020

Не знаю, можно ли это считать ответом.

Я тестировал PHP версии: 7.3.14, 7.4.0 и (самое последнее на данный момент) 7.4.2. Все эти версии поставляются с CURL 7.67.0, и каждый раз, когда я отправлял запрос CURL, я получал эту ошибку "OpenSSL SSL_read: No error". Когда я перешел на PHP 7.3.12 или ниже 7.2.5 с CURL 7.64.0 и 7.59.0, все работало без проблем. Во всех случаях я использовал самую последнюю версию Apache 2.4.41.

. Я видел, что у многих разработчиков была такая же проблема с CURL 7.67.0 https://github.com/curl/curl/issues/4624

Если Кто-нибудь знает, как использовать CURL 7.67.0, пожалуйста, дайте нам знать, ИЛИ похоже, мы должны ждать следующей PHP версии с новым CURL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...