Как увеличить тайм-аут выполнения в php?

Как увеличить время ожидания транзакции? Я хочу загрузить видео, но видео большого размера не загружено?

Выдает ошибкуThe process *** exceeded the timeout of 60 seconds.

 Aamir30 сент. 2010 г., 11:42
короткие видео успешно загружены. но длинное видео не загружено, я думаю, что время вышло.
 Aamir30 сент. 2010 г., 13:11
мне создать файл .htaccess и поставить следующий код:
 Aamir30 сент. 2010 г., 12:39
Я также применил приведенный выше код, но .... ничего не сделано.
 bksi27 мая 2014 г., 20:29
Лучше разбить файл перед загрузкой. Есть много приложений, которые можно использовать. Я предпочитаю plupload.
 Aamir30 сент. 2010 г., 13:12
php_value upload_max_filesize 500M php_value post_max_size 500M php_value max_execution_time 500 php_value max_input_time 500
 Manoj Kumar07 июн. 2017 г., 09:16
 Your Common Sense30 сент. 2010 г., 11:41
почему вы думаете, что его "транзакция" тайм-аут?
 Pekka 웃30 сент. 2010 г., 11:40
Определите «тайм-аут транзакции». Что не работает, где?
 Aamir30 сент. 2010 г., 12:38
ini_set ( 'post_max_size', '200M'); ini_set ( 'upload_max_filesize', '200M'); ini_set ( 'max_execution_time', '200M'); ini_set ( 'max_input_time', '200M'); ini_set ( 'memory_limit', '200M'); set_time_limit (65536);

Ответы на вопрос(11)

что вы конкретно спрашиваете о тайм-ауте PHP, но никто, похоже, не упомянул, что на веб-сервере также может быть тайм-аут, и он может выглядеть очень похоже на тайм-аут PHP.

Итак, если вы пытались:

Увеличение времени ожидания в php.ini путем добавления строки: max_execution_time = {количество секунд, т.е. 60 в течение одной минуты}Увеличьте время ожидания в вашем скрипте, добавив: ini_set ('max_execution_time', '{количество секунд, т.е. 60 в течение одной минуты}');

И вы проверили с помощью функции phpinfo (), что max_execution_time действительно увеличено, затем вы можете попробовать добавить это в .htaccess, чтобы убедиться, что у самого Apache нет времени ожидания:

RewriteRule .* - [E=noabort:1]
RewriteRule .* - [E=noconntimeout:1]

Больше информации здесь:https://www.antropy.co.uk/blog/php-script-keeps-timing-out-despite-ini-set/

У вас была опечатка: ini_set ('max_input_time', '200M') - набор значений должен быть int, например, ini_set ('max_input_time', '200')

если то, что вам нужно сделать, является специфичным только для 1 или 2 страниц, я предлагаю использоватьset_time_limit так что это не повлияло на все приложение.

set_time_limit(some_values);

но, конечно, эти 2 значения (post_max_size & upload_max_filesize) подлежат расследованию.

Вы можете установить его черезini_set функция

ini_set('post_max_size','20M');
ini_set('upload_max_filesize','2M');

или непосредственно в файле php.ini, как ответ Ханнеса выше, или даже установите его в .htaccess, как показано ниже

php_value upload_max_filesize 2M
php_value post_max_size 20M

Проверьте, если вы находитесь в безопасном режиме - если нет - установите ограничение по времени (локальное значение) на то, что вы хотите:

if(!ini_get('safe_mode')){

    echo "safe mode off";
    set_time_limit(180);// seconds

    phpinfo();// see 'max_execution_time'
}

* Вы не можете установить ограничение по времени таким образом, если безопасный режим включен.

на своем сервере), вы можете попытаться изменить параметры php.ini из своего кода php. Пытаться:

ini_set('max_execution_time', 'NUMBER OF SECONDS TO ALLOW BEFORE TIMEOUT');

Если это не сработает, попробуйте также установить 'set_time_limit' таким же образом, кроме того, я бы сказал, что ваш единственный вариант - связаться с вашим хостом. Эти настройки нельзя изменить в безопасном режиме.

 John30 сент. 2010 г., 12:06
Ханнес получил это за минуту до того, как я написал, и правильно указывает, что set_time_limit () не должен устанавливаться ini_set, как указано в этом ответе, а помещать секунды в скобках. Проголосовал Ханнес.

Вы должны быть в состоянии сделать во время выполнения тоже с помощью

set_time_limit(100);

http://php.net/manual/en/function.set-time-limit.php

или в вашем vhost-конфиге

php_admin_value max_execution_time 10000

Глобальный лимит времени выполнения, который является НИЗКИМ, в основном является хорошей идеей по причинам производительности для не столь надежных приложений. Таким образом, вы можете разрешить запускать только те сценарии, которые должны работать дольше.

p .: не забывайте о post_max_size и upload_max_filesize (как уже было сказано в первом ответе)

 Snake Eyes30 янв. 2018 г., 11:23
Если вы установите его, то сон будет игнорироваться

Microsoft IIS сервер, в дополнение кphp.ini Параметры, упомянутые другими, может потребоваться увеличить параметры времени ожидания выполнения для приложения PHP FastCGI в диспетчере сервера IIS:

Шаг 1) Откройте диспетчер сервера IIS (обычно подДиспетчер серверов в меню «Пуск», затеминструменты / Менеджер информационных служб Интернета (IIS)).

Шаг 2) Нажмите на основное соединение (не относится к какому-либо конкретному домену).

Шаг 3) ПодIIS раздел, найтиНастройки FastCGI (показано ниже).

Шаг 4) Щелкните правой кнопкой мыши на приложении PHP и выберитеРедактировать....

Шаг 5) Проверьте время ожидания (показано ниже).

В моем случае таймауты по умолчанию здесь составляли 70 и 90 секунд; бывший из которых вызывал500 - внутренняя ошибка сервера на сценарии PHP, который занял более 70 секунд.

Вам нужно изменить некоторые настройки в вашем php.ini:

upload_max_filesize = 2M 
;or whatever size you want

max_execution_time = 60
; also, higher if you must

Если кто-то хочет поставить неограниченное количество (я не знаю почему, но если вы хотите), вы можете поставить дважды до 0:

Вам нужно изменить некоторые настройки в вашем php.ini:

upload_max_filesize = 0 

max_execution_time = 0

И если вы не знаете, где находится ваш php.ini. Вы можете сделать файл "name.php" на вашем сервере и поместить:

<?php phpinfo(); ?>

А на вашем сайте вы можете увидеть конфигурацию вашего php.ini и отметить, где он находится.

Изменить 9 января 2015 года:

Если вы не можете получить доступ к php.ini, у вас есть еще два варианта.

Вы можете установить эту строку непосредственно в вашем файле "name.php", но я не могу найти для upload_max_filesize для этой опции:

set_time_limit(0);

Или в ".htaccess"

php_value upload_max_filesize 0
php_value max_execution_time 0

set_time_limit() функция:

http://php.net/manual/en/function.set-time-limit.php

прохождение0 в качестве аргумента ваш скрипт будет работать без ограничения по времени.

 Your Common Sense30 сент. 2010 г., 12:08
set_time_limit () не имеет ничего общего с загрузкой файлов
 Christoph Strasen30 сент. 2010 г., 12:21
Это не достаточно точно полковник Шрапнель. В то время как в средах Unix максимальное время выполнения сравнивается с совокупным временем ЦП, используемым php-потоком, в системах Windows используется абсолютное время. Загрузка в основном "простаивает" (IO-Wait). Но, как вы видите, загрузка может прекратиться, даже если это займет слишком много времени.
Решение Вопроса

upload_max_filesize = 2M 
;or whatever size you want

max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds

Если ваш PHP.ini находится в зависимости от вашей среды, больше информации:http://php.net/manual/en/ini.list.php

 Aamir30 сент. 2010 г., 11:55
я могу изменить upload_max_filesize и max_execution_time в файле htaccess?
 Iulian Onofrei16 июл. 2014 г., 10:03
 Hannes30 сент. 2010 г., 12:13
@Col, я не согласен, он хочет вносить изменения на лету, а не по всему приложению, поэтому он спрашивает, как он может это сделать. И даже если бы он спросил, как он может просто изменить некоторые вещи в php.ini, это может быть вопрос новичка, но все же законный вопрос.
 Hannes30 сент. 2010 г., 11:50
извини, я понятия не имею, что ты имеешь в виду под этим :(
 hellozimi30 сент. 2010 г., 11:50
@Aamir, вам нужно разрешение от вашего веб-хостинга для изменения конфигурации вашего веб-сервера. Часто они не позволяют вам что-то менять.
 Amir Md Amiruzzaman22 февр. 2019 г., 02:35
Работал на меня. Спасибо
 Hannes16 июл. 2014 г., 10:09
@IulianOnofrei этому комментарию 4 года
 Aamir30 сент. 2010 г., 11:57
@hanees, если я изменю в файле php.ini, я думаю, что это также создаст проблему, когда мы загрузим его, потому что это в нашей локальной системе, поэтому я хочу изменить время выполнения через php-код в этом файле.
 Hannes17 июл. 2014 г., 09:15
@IulianOnofrei хорошо, просто почувствовал необходимость указать на это: D, но, может быть, если вы не знаете, что это все-таки хорошо, посмотреть его ... «Те, кто не может извлечь уроки из истории, обречены повторять это» и все такое ...
 Your Common Sense30 сент. 2010 г., 12:07
@ Аамир ответ очевиден. Спросите администратора своего хоста, разрешают ли они когда-либо загружать. Администратор этого хоста - это тот, кому вы должны адресовать свой вопрос, а не stackoverflow.
 Aamir30 сент. 2010 г., 11:47
когда этот сайт будет загружен, тогда как он будет работать?
 Iulian Onofrei16 июл. 2014 г., 10:29
@ Ханнес Я знаю, я только что прокомментировал это для других пользователей, которые этого не замечают или не знают(как я сделал)так что они не продолжают искать то, чтобезопасный режим, : D
 Hannes30 сент. 2010 г., 12:02
тогда вам нужно будет на лету изменить параметры php.ini через set_time_limit () [php.net/manual/en/function.set-time-limit.php ], но обязательно используйте безопасный режим при его использовании. Вы можете изменить любое значение PHP через ini_set ()php.net/manual/en/function.ini-set.php - включая upload_max_filesize, однако, если это работает, может зависеть от конфигурации вашей системы. И да, вы можете установить некоторые значения в .htaccess через php_flag посмотреть наkarakas-online.de/EN-Book/change-php-parameters.html

а затем изменил параметры PHP.INI:

upload_max_filesize = 1000M
memory_limit = 1500M
post_max_size = 1500M
max_execution_time = 30

restarted Apache

set_time_limit (0); // safe_mode выключен

ini_set ('max_execution_time', 500); // 500 секунд

Заметка: вы также можете использовать команду для поиска php.ini в Linux

locate php.ini

Ваш ответ на вопрос