С одного сервера apache file_get_contents сразу возвращает содержимое url-адреса. На другом сервере apache содержимое file_get не будет возвращать содержимое того же URL-адреса до тех пор, пока не истечет лимит сохранения активности сервера, на котором размещен этот URL-адрес. 2 сервера php получают один и тот же URL-адрес, но через разные сетевые маршруты. Что может быть причиной того, что одна установка php будет ждать предела удаленного сохранения активности перед возвратом?






Я не совсем знаком с этой функцией php, однако я видел похожие ситуации, вызванные тем, что вывод не сбрасывается обратно в поток. Я считаю, что данные обычно сбрасываются в поток, когда он достигает определенного размера или когда поток закрывается. Возможно, этот размер настроен по-разному на каждом из используемых вами php-серверов, вызывая разный эффект. Возможно, стоит попробовать вызвать flush () сразу после вызова file_get_contents. Надеюсь это поможет.
При использовании fopen вручную работает быстрее?
Вместо того, чтобы часами выяснять, почему file_get_contents не работает, лучше поменять его.
Если fopen не работает быстрее, возможно, проблема связана с конфигурацией или файловой системой. Если это быстрее, скорее всего, проблема с php.ini.
Вы сравнивали php.ini?