file_get_contents отдает пустой результат

284
23 апреля 2017, 01:31
switch ($p) {
    case 'login':
        include 'openid.php';
        try
        {
            $openid = new LightOpenID('http://'.$_SERVER['SERVER_NAME'].'/');
            if (!$openid->mode) {
                $openid->identity = 'http://steamcommunity.com/openid/?l=russian';
                header('Location: ' . $openid->authUrl());
            } elseif ($openid->mode == 'cancel') {
                echo '';
            } else {
                if ($openid->validate()) {
                    $id = $openid->identity;
                    $ptn = "/^http:\/\/steamcommunity\.com\/openid\/id\/(7[0-9]{15,25}+)$/";
                    preg_match($ptn, $id, $matches);
                    $url = "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=E7AE7AAE3CB43A2A642C855ACA4FE117&steamids=$matches[1]";
                    $json_object = file_get_contents($url);
                    $json_decoded = json_decode($json_object);
                    die($url);
                    foreach ($json_decoded->response->players as $player) {
                        $steamid = $player->steamid;
                        $name = $player->personaname;
                        $avatar = $player->avatarfull;
                    }
                }
            }
        } catch (ErrorException $e) {
            exit($e->getMessage());
        }
        break;
    default:
        header('location: /main');
        exit();
        break;
}

$json_object = file_get_contents($url); - отдает пустой результат.

Проверял так, после строчки $json_object = file_get_contents($url); ставил die($json_object) - результат пустая страница, $url же передается и выводится нормально.

http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=E7AE7AAE3CB43A2A642C855ACA4FE117&steamids=76561198222889260 вот валидный $url .

Как правильно задебажить и выяснить в чем именно проблема? Мучаюсь уже второй день

Answer 1

Вообщем, в коде ничего не менял. Оказывается у меня не был установлен php-curl.

Выполнил команду apt-get install php-curl, перезагрузил сервер и все заработало!

READ ALSO
Перевод в двоичное [требует правки]

Перевод в двоичное [требует правки]

В файле задано большое число (100+ знаков)Необходимо сохранить это число в программе в двоичном виде

198
Подскажите IDE для С++. Для линукса [требует правки]

Подскажите IDE для С++. Для линукса [требует правки]

То есть среду разработки, которая подчеркивает код в случае не правильного набораИменно ту часть кода, в которой ошибка

190