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 ответ
Решение
Ну, после долгих поисков и проверок, я наконец понял это, вот что случилось:
- Я загружаю тестовый файл на другой сервер, оказывается, что он работает, поэтому не проблема с источником PHP.
я добавил
error_reporting(E_ALL); ini_set('display_errors', '1');
в php файл попал код ошибки
file-get-contents Couldn't resolve host name
- поэтому я помню, что вчера я обновил все серверное программное обеспечение, чтобы справиться с сердечным кровотечением. и, кажется, какое-то обновление изменило resolv.conf.
- Я изменил resolv.conf добавил гугл
nameserver 8.8.8.8
но все еще не работает - перезапустите nginx и php-fpm, проблема решена