Пустая страница при использовании file_get_contents () на веб-сайте с портом 8080 - PullRequest
0 голосов
/ 06 февраля 2012

Когда я запускаю следующий код на одном из моих сайтов:

    <?php
    $thing = file_get_contents("http://mywebsite.com:8080/Public");
    echo($thing);
    ?>

Возвращает ожидаемый результат, содержимое http://mywebsite.com:8080/Public

Но когда я запускаю его на другом моем сайте( размещено в другой компании ), ничего не отображается.Нет ошибок и нет содержимого http://mywebsite:8080/Public. Однако, если я запускаю следующий код:

    <?php
    $thing = file_get_contents("http://somerandomwebsite.com");
    echo($thing);
    ?>

Возвращает содержимое somerandomwebsite.com.Есть ли причина, по которой он работает на одном из сайтов, а не на другом?Почему он может только извлечь содержимое файла, если порт 80?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Узнайте у своего хостинг-провайдера, позволяет ли PHP делать внешние запросы. Некоторые провайдеры виртуального хостинга отключают это.

0 голосов
/ 06 февраля 2012

file_get_contents не удается, потому что он не может получить содержимое под рукой.Скорее всего, упрощенный брандмауэр блокирует весь трафик на порты, отличные от 80.Вам придется использовать порт 80, чтобы избежать этих упрощенных брандмауэров.

Ошибка загрузки ресурса выдает php предупреждениеСкорее всего, предупреждения не отображаются на рабочем сервере.Проверьте журнал сервера и конфигурации display_errors и error_reporting.

...