«Функция set_time_limit () и директива конфигурации max_execution_time влияют только на время выполнения самого сценария. Любое время, затрачиваемое на действия, происходящие вне выполнения сценария, такие как системные вызовы с использованием system (), потоковые операции, запросы к базе данных и т. Д. . не учитывается при определении максимального времени выполнения сценария. Это не так для Windows "Из документации PHP
Джейкоб Санчес
Ответы:
722
Ваш цикл может быть бесконечным. Если это не так, вы можете продлить максимальное время выполнения следующим образом:
set_time_limit (300) может использоваться для временного продления лимита времени.
Ом
Это установлено только для этого одного сценария или это повлияет на все остальные сценарии, выполняемые после этого на том же сервере?
Рао
1
@Rao да, это будет только для этого сценария. Чтобы сделать это для всех скриптов, вам нужно изменить его в файле php.ini. Вы также можете сделать set_time_limit (0); если вы хотите, чтобы скрипт работал вечно или долго
Haseeb
31
ini_set ('max_execution_time', 0); // без ограничений
Джунаид Атари
3
@sangam Я бы сказал, что лучше всего поддерживать этот предел как можно ниже, допуская определенное количество дополнительного буфера. Из соображений безопасности я бы не хотел выключать его полностью. Это должно быть разумным. На самом деле я установил его вдвое больше времени, которое мой самый долго работающий скрипт требует для завершения при среднем уровне нагрузки сервера. Тем не менее, это всегда может потерпеть неудачу. Поэтому передовой практикой также является решение проблем тайм-аутов для скриптов, занимающих много времени, отдельно.
Hafenkranich
185
У меня была та же проблема, и я решил ее, изменив значение параметра max_execution_timeв php.ini, например:
max_execution_time =360; Maximum execution time of each script, in seconds (I CHANGED THIS VALUE)
max_input_time =120; Maximum amount of time each script may spend parsing request data;max_input_nesting_level = 64 ; Maximum input variable nesting level
memory_limit =128M ; Maximum amount of memory a script may consume (128MB by default)
@HarshaMV Он имеет в виду использование профиля производительности, чтобы определить, почему сценарий начинается медленно, и оптимизировать код для увеличения времени выполнения. Это может или не может быть полезно, в зависимости от того, что является узким местом (ЦП против дискового ввода-вывода против сети).
Дэн Бешард
12
если все вышеперечисленное не сработало, добавьте .htaccessфайл в каталог, где находится ваш скрипт, и поместите его внутрь
На некоторых хостинг-провайдерах вам может потребоваться установить /home/[username]/.php/7.0/phprc
expertCode
7
Возможно, проверьте, что вы изменили в файле php.ini. Например, я изменил «; intl.default_locale =» на «; intl.default_locale = en_utf8» , чтобы включить «Расширение интернационализации (Intl)», не добавляя «extension = php_intl.dll», после чего возникла та же ошибка. Поэтому я предлагаю проверить на подобные ошибки.
Ответы:
Ваш цикл может быть бесконечным. Если это не так, вы можете продлить максимальное время выполнения следующим образом:
а также
может быть использовано для временного продления срока.
источник
У меня была та же проблема, и я решил ее, изменив значение параметра
max_execution_time
вphp.ini
, например:Я надеюсь, что это может помочь вам.
источник
php.ini
можно найти в/etc/php5/apache2/php.ini
.... Я использую Ubuntu 13.04 ...Все ответы выше верны, но в некоторых случаях я использую простой способ избежать этого.
Просто поместите эту команду в начале вашего скрипта:
источник
Я столкнулся с этой проблемой при обновлении до WordPress 4.0 . По умолчанию WordPress ограничивает максимальное время выполнения 30 секундами.
Добавьте следующий код в ваш файл .htaccess в корневом каталоге вашей установки WordPress, чтобы переопределить стандартную настройку.
источник
редактировать php.ini
Найдите эту строку:
Измените его значение на 300:
300 означает 5 минут времени выполнения запроса http.
источник
Ваш сценарий истекает. Взгляните на функцию set_time_limit (), чтобы увеличить время выполнения. Или профилируйте скрипт, чтобы он работал быстрее :)
источник
если все вышеперечисленное не сработало, добавьте
.htaccess
файл в каталог, где находится ваш скрипт, и поместите его внутрьтаким образом я решил свою проблему, и
ini_set('max_execution_time', 86400);
неset_time_limit(86400)
решил ее, но метод .htaccess сделал.источник
Мы можем решить эту проблему тремя различными способами.
1) Использование файла php.ini
2) Использование файла .htaccess
3) Использование файла Wp-config.php (для Wordpress)
источник
Вы можете снять ограничение, установив его на ноль, добавив эту строку вверху вашего скрипта:
источник
Следуй по пути
/etc/php5(your php version)/apache2/php.ini
.Откройте его и установите
max_execution_time
желаемое значение.источник
Возможно, проверьте, что вы изменили в файле php.ini. Например, я изменил «; intl.default_locale =» на «; intl.default_locale = en_utf8» , чтобы включить «Расширение интернационализации (Intl)», не добавляя «extension = php_intl.dll», после чего возникла та же ошибка. Поэтому я предлагаю проверить на подобные ошибки.
источник
Увеличьте время выполнения скрипта, добавив следующую строку в верхней части скрипта PHP.
Ссылка взята из увеличения времени выполнения скрипта PHP
источник
Для продления
max_execution_time
вы можете использовать либоini_set
илиset_time_limit
.!! Но имейте в виду, что обе функции перезапускаются, а также подсчет времени, которое скрипт уже выполнил
поэтому, если вы хотите установить точное максимальное время выполнения скрипта, ваша команда должна быть самой первой.
Различия между этими двумя функциями
set_time_limit
не возвращает информацию об успешности, но выдает предупреждение об ошибке.ini_set
возвращает старое значение в случае успеха или false при ошибке без предупреждения / ошибкиисточник
Вы можете сделать это легко с WHM. Просто надо:
(30 по умолчанию, измените его на любое значение, которое вы хотите)
источник
У меня такая же проблема на сайте WordPress, я добавил в файл .htaccess, тогда у меня все работает нормально.
источник
Я сделал некоторые изменения в моем случае в: xampp \ phpMyAdmin \ library \ config.default.php
я искал:
$cfg['ExecTimeLimit']
и изменить значение на правой стороне ...Вы можете изменить значение Right hand на любое более высокое значение, например «5000». и это работает.
источник