Проблема с file_get_contents на VPS

Artemphp

Новичок
Доброго времени суток, подскажите пожалуйста с решением проблемы.
На сайте есть файл course.json
Через браузер все нормально открывается по пути https://sitename.ru/ajax/course.json
В php пишу так:

jsons.php:
$url_pb = "https://sitename.ru/ajax/course.json";
$json_pb = file_get_contents($url_pb);
return $get_json = json_decode($json_pb, true);

Выдает ошибку Warning: file_get_contents(https://sitename.ru/ajax/course.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /var/www/html/sitename.ru/engine/jsons.php on line 5

С другими сайтами удаленно функция file_get_contents контент вытягивает нормально а с самого себя не хочет.
То же самое если я пытаюсь file_get_contents(https://sitename.ru/ajax/course.json) с другого сервера на этот же урл.
VPS Ubuntu 14.04.4 полностью настраивал сам возможно чтото пропустил
в php ini
allow_url_fopen = On
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
@Artemphp, а у тебя сервер сам себя то узнает по имени? Да и вообще дергать файл, лежащий у тебя же на сервере по http, как мне кажется немного глупо.
 

Artemphp

Новичок
он должен будет доступен потом и внешним сайтам. Конечно узнает, я же писал в браузере открывает по этому пути все нормально
 

Фанат

oncle terrible
Команда форума
@Artemphp, браузер != скрипт на сервере
Он говорит что с другого сервера тоже 404.
То есть проблема не в этом.

Но вот в чем - это для меня загадка.
Я бы еще раз проверил путь в скрипте на опечатки.

А на сервере залез в еррор лог веб-сервера и посмотрел, по какому пути он ищет файл.
И вообще посмотрел, кто отдает 404 - может это не сервер, а хировыдуманный РНР скрипт
 

Artemphp

Новичок
[Mon Aug 15 08:11:19.211853 2016] [:error] [pid 2378] [client 212.129.63.128:47114] PHP Warning: file_get_contents(https://sitename.ru/ajax/course.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found\r\n in /var/www/html/sitename.ru/engine/jsons.php on line 5

Тут та же ошибка
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Кхм, чего-то я да, затупил, хотел предложить ему уже wget'ом дернуть главную и посмотреть что там вернется.
 

Artemphp

Новичок
другие страницы сайта тоже не обрабатываются file_get_contents везде failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found выдает
 

Artemphp

Новичок
Это ошибка клиента.
А еще должна быть ошибка сервера, у которого запрашивают файл.

сдается мне, у тебя используется ЧПУ, которое этот запрос отфутболивает
Не ЧПУ наврядли, на главнуй страницу если делаю запрос file_get_contents та же ошибка
 

Artemphp

Новичок
Это ошибка клиента.
А еще должна быть ошибка сервера, у которого запрашивают файл.

сдается мне, у тебя используется ЧПУ, которое этот запрос отфутболивает
localhost - - [15/Aug/2016:08:16:14 -0400] "GET /ajax/course.json HTTP/1.0" 404 1991 "-" "-" вот это?
 

fixxxer

К.О.
Партнер клуба
скорее всего, в /etc/hosts 127.0.0.1 sitename.ru, а виртуальный хост в конфигурации веб-сервера на внешнем ip
 

fixxxer

К.О.
Партнер клуба
ну только на localhost внешний ip не прописывай :)
если там получилось в одну строчку, типа 127.0.0.1 localhost sitename.ru раздели на две

другой вариант - перенастрой веб-сервер, чтобы виртуалхост был на 0.0.0.0
 

Artemphp

Новичок
ну только на localhost внешний ip не прописывай :)
если там получилось в одну строчку, типа 127.0.0.1 localhost sitename.ru раздели на две

другой вариант - перенастрой веб-сервер, чтобы виртуалхост был на 0.0.0.0
да проблема решена! спасибо, надеюсь это не вылезит какимто другим боком)
 
Сверху