PHP Сбой Curl в Ubuntu при использовании PHP 7.2, но работает на Ma c с PHP 7.3.9 - PullRequest
0 голосов
/ 01 февраля 2020

Я получаю следующую ошибку только при запуске getAnalysis() на моей Ubuntu машине, хотя она все еще работает на нескольких версиях Ma c (включая самую новую версию). Я попытался устранить ошибку, используя функцию curl_error, однако ничего не было распечатано.


  • Ошибка при : Ubuntu с PHP 7.2.24-0ubuntu0.18.04.2 и локон 7.58.0.

  • Работал на : Ма c с PHP 7.3.9 и завиток 7.64.1.

Ошибка:

<HTML><HEAD><TITLE>Error</TITLE></HEAD><BODY>
An error occurred while processing your request.<p>
Reference&#32;&#35;179&#46;96cadf17&#46;1580524623&#46;c5f345a
</BODY></HTML>

Код:

function getAnalysis($text)
{
    $APIKey = "APIKey";
    $URL="https://www.APIURL.com/API/";
    $data = json_encode(array('text' => $text));
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$URL);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //timeout after 30 seconds
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
    curl_setopt($ch, CURLOPT_USERPWD, "apikey:$APIKey");
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

    $result=curl_exec($ch);

    print("======================================\n");
    print($result);
    print("======================================\n");

    curl_close ($ch);

    return $result;
}

1 Ответ

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

Я наконец нашел решение. Мне просто нужно изменить

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

на

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Expect:')); 

Причина была в том, что мой запрос был слишком большим и мне нужно было дать curl знать, чего ожидать

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