PHP file_get_contents не возвращается до тех пор, пока не будет превышен лимит активности на удаленных серверах - PullRequest
0 голосов
/ 09 октября 2008

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

Ответы [ 2 ]

2 голосов
/ 09 октября 2008

Работает ли fopen вручную, быстрее?

Вместо того, чтобы тратить часы на то, чтобы выяснить, почему file_get_contents не работает, вам, возможно, лучше поменять его.

Если fopen не работает быстрее, возможно, проблема в конфигурации или файловой системе. Если это быстрее, вероятно, это проблема php.ini.

1 голос
/ 09 октября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...