Увеличить max_execution_time в PHP?
Я пытаюсь загрузить большие файлы на свой сервер (поддержка моего сервера post_max_size
192mb и 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)) {
// ...
}
Любые идеи, как я могу преодолеть это?
6 ответов
Добавьте это в файл 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
Theres установка max_input_time
(на Apache) для многих веб-серверов, определяющих, как долго они будут ждать публикации данных, независимо от их размера. Если это время истекает, соединение закрывается, даже не касаясь php.
Таким образом, ваша проблема не обязательно решается только с помощью php, но вам также нужно будет изменить настройки сервера.
Если у вас есть доступ к WHM, вы можете выполнить следующие шаги:
В какой-то момент вам, вероятно, придется настроить параметры конфигурации PHP. Вместо того, чтобы вручную редактировать файл PHP.ini, вы можете сделать это из WHM. 1) Найдите меню настройки сервиса.
2) Нажмите Редактор конфигурации PHP.
Этот редактор имеет два режима - Основной и Расширенный. Для того, чтобы получить доступ к самому полному диапазону опций, вам нужно будет использовать расширенный режим. Это доступно, нажав на кнопку в верхней части страницы.
Мы рекомендуем вам подождать, чтобы изменить какие-либо дополнительные настройки, пока вы не будете уверены, что знаете, что делаете. Если вам когда-нибудь понадобится дополнительная информация о настройке, щелкнув ссылку в столбце Раздел, вы перейдете к документации PHP. Первый параметр в базовом режиме - upload_max_filesize, который ограничивает максимальный размер файла, загружаемого через PHP. Эта опция повлияет на систему прикрепления или загрузки широкого спектра программного обеспечения, которое может быть запущено на вашем сервере, включая Joomla и vBulletin. Вы, вероятно, захотите изменить это значение на что-то более высокое, чем значение по умолчанию. Укажите размер в мегабайтах, используя число, за которым следует буква M. Вам редко потребуется изменять include_path по умолчанию. Помимо ограничения максимального размера загрузки, вы также можете отключить загрузку файлов вместе с параметром file_uploads. Некоторые программисты PHP имеют плохую привычку использовать сокращенные теги, которые не включены на многих серверах. Это означает, что их сценарии не будут работать. Включите asp_tags, если вы столкнетесь с какими-либо сценариями, требующими такого рода тегов.
С помощью memory_limit вы можете наложить ограничение на объем памяти, который конкретный PHP-скрипт может использовать в любой момент времени. Включение register_globals не рекомендуется, если это абсолютно необходимо. Это источник многих проблем безопасности, и он будет полностью удален после выхода PHP 6. Параметр max_execution_time предотвращает связывание плохо написанных сценариев с сервером. По умолчанию эта опция установлена на 30 секунд; не ставьте это слишком высоко, иначе производительность вашего сервера может снизиться. Точно так же max_input_time накладывает ограничение на то, как долго скрипту разрешается анализировать входные данные, такие как формы и загрузки файлов.
С enable_dl все пользователи могут включать расширения PHP по своему желанию. Это представляет потенциальное нарушение безопасности, поэтому вы должны отключить его, если в этом нет крайней необходимости. safe_mode - это еще одна опция PHP, которая будет удалена с выпуском PHP 6. Она в значительной степени неэффективна и, вероятно, должна быть исключена. Последняя опция, session.save_path, определяет, где сохраняются сессии PHP. По умолчанию должно быть хорошо для большинства целей.
Если вы хотите изменить эту опцию, нажмите здесь, чтобы появилось текстовое поле. 3) Когда закончите, нажмите Сохранить.
Файл php.ini был написан автоматически.
Это конец урока. Теперь вы знаете, как настроить PHP из WHM.
Это очень просто, эта работа для меня:
PHP:
set_time_limit(300); // Time in seconds, max_execution_time
Вот документация PHP
// Karvy master upload module
function uploadKarvyData()
{
ini_set('MAX_EXECUTION_TIME', -1);
ini_set('memory_limit', '-1');
or
ini_set( 'memory_limit', '1024M' );
ini_set('upload_max_filesize', '1024M');
ini_set('max_input_time', 360000);
ini_set('max_execution_time', 360000);
}
Для увеличения времени выполнения и размера файла вам необходимо указать следующие значения в вашем файле.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