Увеличить max_execution_time в PHP? - PullRequest
18 голосов
/ 05 января 2012

Я пытаюсь загрузить большие файлы на свой сервер (мой сервер поддерживает post_max_size 192 МБ и max_execution_time 600 сек).Когда я загружаю 100 МБ файлов, выполнение останавливается через 600 секунд, поэтому файлы не загружаются на сервер.Как я могу увеличить max_execution_time в PHP (только для процесса загрузки файлов)?Я пытался:

ini_set ( 'max_execution_time', 1200); 
if(move_uploaded_file($_FILES['Video']['tmp_name'],$tmppath)) {
  // ...
} 

Есть идеи, как мне это преодолеть?

Ответы [ 5 ]

32 голосов
/ 05 января 2012

Добавьте это в файл htaccess:

<IfModule mod_php5.c>
   php_value post_max_size 200M
   php_value upload_max_filesize 200M
   php_value memory_limit 300M
   php_value max_execution_time 259200
   php_value max_input_time 259200
   php_value session.gc_maxlifetime 1200
</IfModule>

Подробнее об этих настройках читайте в http://www.pacecode.com/blog/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

РЕДАКТИРОВАТЬ

Похоже, содержание оригинальной статьи было воспроизведено здесь: http://www.rajamm.info/2008/09/22/magic-with-htaccess-file-increase-execution-time-session-expiry-time-and-file-upload-size-limit

6 голосов
/ 07 мая 2014

если у вас есть доступ к WHM, вы можете выполнить следующие действия:

В какой-то момент вам, вероятно, придется настроить параметры конфигурации PHP. Вместо того, чтобы вручную редактировать файл PHP.ini, вы можете сделать это из WHM.

1) Найдите меню настройки сервиса.

enter image description here

2) Нажмите Редактор конфигурации PHP. enter image description here

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

enter image description here

Мы рекомендуем вам подождать, чтобы изменить какие-либо дополнительные настройки, пока вы не будете уверены, что знаете, что делаете. Если вам когда-нибудь понадобится дополнительная информация о настройке, щелкнув ссылку в столбце Раздел, вы перейдете к документации PHP. Первый параметр в базовом режиме - upload_max_filesize, который ограничивает максимальный размер файла, загружаемого через PHP. Этот параметр повлияет на систему прикрепления или загрузки широкого спектра программного обеспечения, которое может быть запущено на вашем сервере, включая Joomla и vBulletin. Вы, вероятно, захотите изменить это значение на что-то более высокое, чем значение по умолчанию. Укажите размер в мегабайтах, используя число, за которым следует M. Вам редко понадобится изменить include_path по умолчанию. Помимо ограничения максимального размера загрузки, вы также можете отключить загрузку файлов вместе с параметром file_uploads. Некоторые программисты PHP имеют плохую привычку использовать сокращенные теги, которые не включены на многих серверах. Это означает, что их сценарии не будут работать. Включите asp_tags, если вы столкнетесь с какими-либо сценариями, требующими такого рода тегов.

enter image description here

С помощью memory_limit вы можете наложить ограничение на объем памяти, который конкретный PHP-скрипт может использовать в любой момент времени. Включение register_globals не рекомендуется, если это абсолютно необходимо. Это источник многих проблем безопасности и будет полностью удален, когда выйдет PHP 6. Параметр max_execution_time предотвращает связывание плохо написанных сценариев с сервером. По умолчанию эта опция установлена ​​на 30 секунд; не ставьте это слишком высоко, иначе производительность вашего сервера может снизиться. Аналогично, max_input_time накладывает ограничение на то, как долго скрипту разрешается анализировать входные данные, такие как формы и загрузки файлов.

enter image description here

С помощью enable_dl все пользователи могут включать расширения PHP по своему желанию. Это представляет потенциальное нарушение безопасности, поэтому вы должны отключить его, если в этом нет крайней необходимости. safe_mode - это еще одна опция PHP, которая будет удалена с выходом PHP 6. Она в значительной степени неэффективна и, вероятно, должна быть исключена. Последняя опция, session.save_path, определяет, где сохраняются сессии PHP. По умолчанию должно быть хорошо для большинства целей.

enter image description here

Если вы хотите изменить эту опцию, нажмите здесь, чтобы появилось текстовое поле.

3) По завершении нажмите Сохранить.

enter image description here

Файл php.ini записан автоматически.

enter image description here

Теперь вы знаете, как настроить PHP из WHM.

6 голосов
/ 05 января 2012

Theres параметр max_input_time (на Apache) для многих веб-серверов, который определяет, как долго они будут ждать публикации данных, независимо от их размера.Если это время истекает, соединение закрывается, даже не касаясь php.

Таким образом, ваша проблема не обязательно решается только с php, но вам также придется изменить настройки сервера.

0 голосов
/ 24 апреля 2019

Очень просто, эта работа для меня:

PHP :

set_time_limit(300); // Time in seconds, max_execution_time

Вот документация по PHP

0 голосов
/ 22 марта 2017

Чтобы увеличить время выполнения и размер файла, вам нужно указать следующие значения в вашем файле .htaccess.Это будет работать.

php_value upload_max_filesize 80M
php_value post_max_size 80M
php_value max_input_time 18000
php_value max_execution_time 18000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...