@Ari95

Почему сервер не даёт получить file_get_contents() с самого себя?

Я использую такой код:

echo file_get_contents('https://example.com/file.txt');

В ответ получаю ошибку:

Warning: file_get_contents(https://example.com/file.txt): failed to open stream: Cannot assign requested address in /sites/example.com/test.php on line 2


Насколько я понимаю, сервер почему-то запрещает доступ к функции file_get_contents(), если файл находится на этом же сервере. Потому что такие запросы работают:

echo file_get_contents('https://example.org');
Помоги мне, пожалуйста. В каком направлении копать?
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
@Ari95 Автор вопроса
Проблему решил. В файле hosts:
в файле /etc/hosts

127.0.1.1 example.com example

заменил на

внешнее ip-сайта example.com example
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
0) нахрена, а главное - зачем тянуть внутренние файлы через веб? документ_рут + вашфайл.тхт его замечательно откроют
1) Скорее всего на хосте стоит файервол и маршрутизация, настроенные на исключение циклических линков внутрь сайта (что нормально).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы