heartbleed влияет на сторонний php сервер, чек подтверждения itunes?

У меня есть работающие сторонние php коды, подтверждающие получение чека с ipad. но кажется https://sandbox.itunes.apple.com/verifyReceipt больше нет ответа на мой php-код. нет даже статистики ошибок, как {"status":21000} если я захожу на URL напрямую. Я пробовал разные способы на стороне сервера, например curl_exec($ch); или file_get_contents даже простой тест ничего не возвращает вообще.

$result = file_get_contents('https://sandbox.itunes.apple.com/verifyReceipt');
echo $result;

Интересно, вызвано ли это кровотечением и что я могу сделать?

мой оригинальный рабочий код php:

if ($isSandbox) {   
        $endpoint = 'https://sandbox.itunes.apple.com/verifyReceipt';   
    }   
    else {   
        $endpoint = 'https://buy.itunes.apple.com/verifyReceipt';   
    }   

// Connect to Apple server and validate.
$postData = json_encode(array("receipt-data" => $receipt));

$options = array(
    'http' => array(
        'header'  => "Content-type: application/x-www-form-urlencoded",
        'method'  => 'POST',
        'content' => $postData
    ),
);
$context  = stream_context_create($options);
$result = file_get_contents($endpoint, false, $context);

1 ответ

Решение

Ну, после долгих поисков и проверок, я наконец понял это, вот что случилось:

  1. Я загружаю тестовый файл на другой сервер, оказывается, что он работает, поэтому не проблема с источником PHP.
  2. я добавил

    error_reporting(E_ALL);
    ini_set('display_errors', '1');
    

    в php файл попал код ошибки file-get-contents Couldn't resolve host name

  3. поэтому я помню, что вчера я обновил все серверное программное обеспечение, чтобы справиться с сердечным кровотечением. и, кажется, какое-то обновление изменило resolv.conf.
  4. Я изменил resolv.conf добавил гугл nameserver 8.8.8.8 но все еще не работает
  5. перезапустите nginx и php-fpm, проблема решена
Другие вопросы по тегам