Тайм-аут PHP копирования / fopen и т. Д. - PullRequest
0 голосов
/ 28 января 2012

Я копирую файл с удаленного сервера, используя функцию копирования (а также пробовал различные версии с помощью fopen, file_get_contents и т. Д.), Но через ~ 2 минуты время ожидания сценария истекло.Нет ошибок, нет исключений.В файле журнала ошибок указано: (70007) Истекло указанное время ожидания: ap_content_length_filter: apr_bucket_read () не удалось

Любая подсказка?

Вот моя конфигурация php.ini для ограничений ресурсов:

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 0     ; Maximum execution time of each script, in seconds
max_input_time = 60 ; Maximum amount of time each script may spend parsing request data
memory_limit = 104M     ; Maximum amount of memory a script may consume (8MB)

и это тоже может быть связано:

; Default timeout for socket based streams (seconds)
default_socket_timeout = 60

Я добавил новый php.ini в папку

[PHP]

max_input_time = 3600

default_socket_timeout = 3600

max_execution_time = 3600

upload_max_filesize = 10M

Но это не помогло.

РЕДАКТИРОВАТЬ: Кажется, проблема с размером файла.Как только он достигает 2 МБ, сервер выходит из строя.Я должен связаться с моим хостером.

Ответы [ 3 ]

2 голосов
/ 28 января 2012

Ваш файл php.ini, скорее всего, настроен на тайм-аут после 120 секунд. Я не уверен, какой у вас сервер, но на моем основной файл php.ini находится в: /etc/php5/apache2/php.ini

Если вы не можете его найти, запустите phpinfo () в скрипте, и вы найдете каталог для вашего основного php.ini

Под заголовком ОГРАНИЧЕНИЯ РЕСУРСА измените время ожидания в секундах и перезагрузите сервер

2 голосов
/ 28 января 2012

Это может быть max_input_time (по умолчанию будет 60 секунд?). Вы можете попробовать увеличить его в php.ini. Если вы пользуетесь виртуальным хостингом, попробуйте разместить файл php.ini в каталоге.

max_input_time = 3600

даст вам один час.

0 голосов
/ 09 февраля 2014

Вы также можете проверить php.ini для:

; Default timeout for socket based streams (seconds)
default_socket_timeout = 60
...