EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

PHP file_get_contents

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Администрирование серверов
PHP file_get_contents
Автор Сообщение
Gosudar
Два пингвина
Два пингвина


Зарегистрирован: 08.04.2007
Сообщения: 440

9048 Монеты

СообщениеДобавлено: Пн, 26 Окт, 2015 21:44    Заголовок сообщения: PHP file_get_contents Ответить с цитатой

Ubuntu, apache2, php5.5.9

Простой код
Код:
file_get_contents('http://сайт/test.php');

Выдает ошибку
Warning: file_get_contents(http://сайт/test.php) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in xx on line yy

когда файл test.php - существует! Прописываем в браузере http://сайт/test.php все открывается.

php_flag allow_url_fopen on прописано, phpinfo() пишет, что этот флаг включён/ дело не в этом.
file_get_contents("http://www.eomy.net"); прекрасно работает.

Чую url чужих сайтов функция file_get_contents открывает, а своего сайта - нет. Что-то блокирует, права ? да, нет: разные файлы - владелец один, 777 ставилДело явно не в правах.
Что-то явно с настройками. Попробовал на денвере php5.3.13 всё работает.
Есть какие нибудь идеи?
Как бы понять, что?...
_________________
R3-born²
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Вт, 27 Окт, 2015 12:27    Заголовок сообщения: Ответить с цитатой

Если вы получили 404, значит запрос хоть как-то, но выполнился(и php настроен корректно).
Возможно, в DNS у сайта один IP (с него сайт открывается в браузере), а на сервере в файле hosts другой IP.
(проверьте это выполнением с сервера команды host domain.tld или ping domain.tld)
Альтернатива: ip сервера просто забанен ресурсом по тем или иным причинам (php проставляет специфический user-agent и отследить автоматические обращения не составляет труда).

Также внимательно посмотрите на ресурс с помощью инструментов разработчика (возможно сайт из-за какой-то внутренней ошибки на все странички "лепит" 404 HTTP status, но корректно формирует страничку)
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Gosudar
Два пингвина
Два пингвина


Зарегистрирован: 08.04.2007
Сообщения: 440

9048 Монеты

СообщениеДобавлено: Вт, 27 Окт, 2015 17:02    Заголовок сообщения: Ответить с цитатой

Ха, а задачка более интересная оказалась:

нет, настроено всё нормально, пингуется , в логах пусто, лишних 404 нет.
Всё работает прекрасно. Вот только проблема с file_get_contents, fopen url своего сайта не открывает.

А прикол был в том что : делая проброс фейкового порта во внутрь, на локальный адрес где тоже поднят httpd сервер (посредствам iptables) ошибся в правилах и пробрасывал 80 порт шлюза туда. В итоге получал 404 из локалки , и соответственно 404 на шлюзе.

А вот почему так вел себя file_get_contents пока загадка.
_________________
R3-born²
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
lazutov
while (1==1);
Последний герой


Зарегистрирован: 30.04.2007
Сообщения: 4429

120354 Монеты

СообщениеДобавлено: Ср, 28 Окт, 2015 07:40    Заголовок сообщения: Ответить с цитатой

file_get_contents ведёт себя также, как, к примеру, консольный wget (проверьте, кстати, что кажет wget)

Еще file_get_contents мог случайно идти по ipv6 (если для домена есть v6 адрес)
_________________
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> Администрирование серверов Часовой пояс: GMT
Страница 1 из 1

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group