PHP поведение скручивания не соответствует - PullRequest
1 голос
/ 15 февраля 2020

Я разрабатываю бэкэнд-систему для мобильного приложения, используя PHP. Мобильное приложение разработано с использованием Expo. То, что я пытаюсь сделать, это отправить уведомление pu sh на устройство через сервер expo.

Я создал вспомогательную функцию для выполнения запроса POST к конечной точке уведомления expo pu sh, описанной здесь .

/**
 * Perform POST request with curl.
 * 
 * @param string $url
 * @param mixed $params
 * @param array $headers
 * 
 * @return array
 */
function curl_post($url, $params = null, $headers = [])
{
    $ch = curl_init();
    curl_setopt_array($ch, [
        CURLOPT_URL => $url,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTPHEADER => $headers,
    ]);
    $response = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);

    if (!empty($error)) {
        throw new \Error($error);
    }

    return json_decode($response, true);
}

Сначала он работал как чудо, но иногда позже он не работает, потому что сервер Expo не распознает отправленные мной параметры.

Странно то, что когда я использовал guzzle для выполнения запроса (с тем же вводом), он всегда работал. Я пропускаю некоторые настройки при использовании curl? Или это известная ошибка curl?

Я использую Windows 10 & XAMPP с PHP 7.3.11 для разработки, также я использую Laravel 6 framework.

...