Не могу открыть веб-сайт https с php и fopen - PullRequest
1 голос
/ 11 января 2010

Я использую fopen для получения содержимого URL. Работает на http-URL, но не на https-URL

Кто-нибудь может понять, почему ??

<?php

//this works fine
echo ("<br><br>url 1 is ".OutputURL("http://nuenergy.acornsoftware.com.au/staff/interface/index.php"));

//returns nothing
echo ("<br><br>url 2 is ".OutputURL("https://nuenergy.acornsoftware.com.au/staff/interface/index.php"));

function OutputURL($url)
{
  $handle = fopen($url, "r");
  $contents = stream_get_contents($handle);
  fclose($handle);
  return $contents;
}
//
?>

Ответы [ 3 ]

5 голосов
/ 11 января 2010

Вам необходимо установить и настроить OpenSSL с PHP, я рекомендую задать этот вопрос на ServerFault .

Кроме того, вы можете просто использовать file_get_contents() вместо OutputURL().

2 голосов
/ 11 января 2010

Проблема не в том, что PHP ничего не возвращает для HTTPS, а в том, что ваш файл ничего не выводит для HTTPS-версии файла. Когда я просматриваю версию HTTP, она выводит небольшую диаграмму XML, представляющую какую-то ошибку «Файл не найден». Когда я просматриваю форму файла HTTPS, он возвращает пустую страницу, абсолютно без содержимого в исходном коде. Вам нужно взглянуть на ваши настройки Apache и убедиться, что он правильно указывает на все файлы.

0 голосов
/ 11 января 2010

Возможно, ваша установка apache / php не поддерживает https через fopen или брандмауэр вашего сервера заблокировал этот тип соединения.

...