Curl работает на XAMPP и LARAGON, но не на Ubuntu APACHE2 / CentOS APACHE - PullRequest
0 голосов
/ 27 июня 2019

Я пытался сделать все, что в моих силах, чтобы решить эту проблему.Я попытался переустановить PHP5, PHP 7.2 к PHP 7.3 и полностью переустановить cURL.

Ошибка?
Нет ошибки ... Просто возвращается на пустую страницу.Однако, если я делаю это локально, он дает мне информацию из API, от которого я запрашиваю, но не когда я пытаюсь переместить его на свой сервер.Что тогда будет просто пустым, даже если я сделаю print_r и выведу его на экран?

Мой скрипт работает совершенно нормально, написан на PHP и работает локально на Laragon и на XAMPP.Никаких ошибок, проверил журналы сервера, но он не возвращает ошибку, поэтому я легко могу ее устранить.Это просто пусто.

Я не чувствую необходимости делиться своим кодом, поскольку он не имеет к этому никакого отношения.

Когда я делаю PHPINFO ();он показывает, что у меня установлены и работают JSON и CURL.

Я могу сделать var_dump (curl_version ());работает совершенно нормально.

Есть идеи?Готов сделать что-нибудь, так как это просто чистая установка Apache2 и Ubuntu 18.10 прямо сейчас.

1 Ответ

0 голосов
/ 27 июня 2019

Видимо, я идиот и работаю над этой проблемой более суток.

ТОЛЬКО, ЧТОБЫ УЗНАТЬ!

То, что у меня был URL-адрес возврата, который не совпадает с URL-адресом, предоставленным мне API, поэтому и возвращает пустое значение ...

       $redirect_uri = "https://xxxyyy.com";
    $token_request = "https://discordapp.com/api/oauth2/token";
    $token = curl_init();
    curl_setopt_array($token, array(
        CURLOPT_URL => $token_request,
        CURLOPT_POST => 1,
        CURLOPT_POSTFIELDS => array(
            "grant_type" => "authorization_code",
            "client_id" => "xxxxx",
            "client_secret" => "xxxxx",
            "redirect_uri" => $redirect_uri,
            "code" => $_GET["code"]
        )
    ));
    curl_setopt($token, CURLOPT_RETURNTRANSFER, true);
    $resp = json_decode(curl_exec($token));
    curl_close($token);
    if (isset($resp->access_token)) {
        $access_token = $resp->access_token;
        $info_request = "https://discordapp.com/api/users/@me";
        $info = curl_init();
        curl_setopt_array($info, array(
            CURLOPT_URL => $info_request,
            CURLOPT_HTTPHEADER => array(
                "Authorization: Bearer {$access_token}"
            ),
            CURLOPT_RETURNTRANSFER => true
        ));
        $user = json_decode(curl_exec($info));
        curl_close($info);

Redirect_uri был xyxy, а не xxxyyy, и поэтому, очевидно, не работал. Я, честно говоря, не думал, что это был код, и я пытался манипулировать им разными способами, чтобы попытаться исправить это, но ничего не изменилось, только сейчас я заметил, что URL никогда не менялся, поэтому я изменил его. И там мы идем. Отлично работает.

Спасибо, ребята, в любом случае, xD, надеюсь, это сделает кого-то немного лучше, ха-ха.

С большой любовью, Вавилон.

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