Тайм-аут сервера PHP на сценарии - PullRequest
1 голос
/ 14 декабря 2011

У меня есть функция для плагина WordPress, которую я разрабатываю, что занимает много времени. Он подключается к TMDb (базе данных фильмов) и извлекает один за другим все фильмы по идентификатору (от 0 до 8000) и создает документ XML, который сохраняется на локальном сервере. Конечно, это занимает много времени, и PHP говорит: «504 Время ожидания шлюза Сервер не ответил вовремя».

Что я могу сделать ???? любые предложения !!!

Ответы [ 3 ]

1 голос
/ 14 декабря 2011

Предполагая однократное выполнение и его бомбардировку, вы можете set_time_limit до 0 и разрешить его выполнение.

<?php
  set_time_limit(0); // impose no limit
?>

Тем не менее, я хотел бы убедиться в этомне работает, и он будет запущен только тогда, когда вы этого захотите (в противном случае это создаст (и продолжит размещать) большую нагрузку на сервер).

0 голосов
/ 14 декабря 2011

Я думаю, что это не связано с таймаутом сценария.

504 - Проблема с тайм-аутом шлюза полностью связана с медленной IP-связью между внутренними компьютерами, возможно, включая веб-сервер.

Исправлено: либо используйте прокси, либо увеличьте свой размер кэша (найдите «cache» в вашем php.ini и поиграйте с ним).

Dot

0 голосов
/ 14 декабря 2011

Попробуйте установить:

set_time_limit(0);

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

...