есть три сервера. Сервер №1 содержит АПИ и выгружает инфу из БД для серевра №2. Сервер №3 к серверу №1 доступа на прямую не имеет, поэтому использует сервер №2 как посредник в передаче инфы.
Делается всё максимально просто через file_get_contents и эхом стринга выдается (JSON).
Так вот с маленьким объёмом данных - все работает отлично.
Но вот с бОльшим объёмом на сервере №3 в браузере показывает ошибку от сервера №2
Warning: file_get_contents(http://SERVER_1_IP/server/api/output.php): failed to open stream: �����
При этом когда захожу по РДП на второй сервер и там вызываю в браузере АПИ - http://SERVER_1_IP/server/api/output.php, то file_get_contents срабатывает нормально и в браузере мне инфу всю отображает нормально.
Вопрос - почему на запрос от сервера №3 Апач(или ПХП?) сервера №2 выдаёт мне невозможность сделать file_get_contets, а с браузера напрямую на сервере №2 всё работает?
Это какая-то настройка ограничитель апача/php?
Спать надо больше. Редактировал и вызывал не тот класс х_х
При бОльших потоках данных, использовать file_get_contents не целесообразно. Так же как конструкции print file_get_contents() для вывода в браузер. Для чтения данных и для вывода в браузер, можно заюзать stream_copy_to_stream - работает быстрее и кушает меньше памяти.
Обсуждают сегодня