Размер загружаемого файла слишком велик
09 мая 2017- Информация о материале
- Автор: Долматов Вячеслав
- Просмотров: 13652
При переносе (импортировании) базы данных с помощью phpMyAdmin, иногда возникают проблемы связанные с её переносом. Возникают они в том случае, если размер базы данных, которую Вы пытаетесь перенести, является больше максимально-возможного размера, заданного по умолчанию. Подобная ситуация не критична! Её можно легко исправить изменив настройки заданные по умолчанию.
Давайте разберёмся, где именно находятся эти самые настройки и как их можно изменить. Оговорюсь сразу, что в данной статье речь пойдёт о локальном сервере DENWER, а ни о каком-либо ином. Если Вы используете другой локальный сервер, то данная статья Вам даст лишь только понимание того что нужно сделать, потому как точное название и местонахождение файла (возможно, нескольких файлов) с настройками того локального сервера что Вы используете, скорее всего, будет отличаться от тех, которые мы рассмотрим здесь.
Итак!
Разочарование от того, что у нас ничего не получилось начинается с фразы:
Вероятно, размер загружаемого файла слишком велик. Способы обхода данного ограничения описаны в документации.
которую мы имеем счастье лицезреть на картинке следующего вида:
Если в процессе импортирования базы Вы столкнулись с нечто подобным, то следует открыть файл php.ini. Он расположен по следующему адресу:
Z:/usr/local/php5/php.ini
Первая буква (Z) может быть иной, потому как при установке локального сервера DENWER можно выбирать любую, не занятую под уже имеющиеся у Вас диски букву и тут уж Вам виднее какую букву выбрали Вы. А дальнейший путь будет в точности совпадать.
Далее при помощи любого редактора кода открываем файл php.ini. Лучше это сделать при помощи редактора Notepad++, но если он у Вас не установлен, можно открыть при помощи редактора кода Блокнот, который входит в стандартную поставку системы Windows и не требует дополнительной установки.
К стати! Если вдруг кто то не в курсе, то редактор Notepad++ является бесплатной программой и скачать его можно на официальной странице.
Затем, при помощи поиска, в файле php.ini следует отыскать месторасположение следующих трёх переменных, меняя значения которых, можно изменять размер импортируемой базы:
upload_max_filesize; post_max_size; memory_limit
Забегая вперёд, скажу, что там будут ещё и четвёртая и пятая переменные, но о них чуточку позже.
По умолчанию (в Мегабайтах) эти переменные имеют следующие значения:
- upload_max_filesize – 2M
- post_max_size – 8M
- memory_limit – 128M
upload_max_filesize – это и есть та самая переменная, значение которой ограничивает максимальный размер импортируемой базы. По умолчанию, это ограничение составляет 2 Мегабайта. Если импортируемая Вами база больше этого значения, то его следует соответственно увеличить. Но также следует следить и за значениями переменных post_max_size и memory_limit. Они не должны быть меньше переменной upload_max_filesize.
- Пример:
- Предположим нам следует импортировать базу размером 10 Мегабайт. В таком случае, для переменных, с учётом некоторого запаса нам следует выбрать приблизительно следующие значения:
- upload_max_filesize – 12M
post_max_size – 16M
memory_limit – 128M
После чего, любую базу размером до 10МГбайт можно будет импортировать, не опасаясь столкнуться с вышеописанной проблемой.
Теперь о тех самых четвёртой и пятой переменных, про которые я обещал рассказать Вам немного позже. Совершенно очевидно, что увеличение размера загружаемой базы, связано с соответствующим увеличением времени на её загрузку. Это время так же можно менять. Оно находится в переменной max_execution_time (это четвёртая переменная). Время загрузки задаётся в секундах (хотя там нет никаких единиц измерения). По умолчанию эта переменная равна 30 секундам:
max_execution_time = 30
На момент написания статьи у меня не было случаев, что бы мне не хватило времени на загрузку какой-либо базы данных, поэтому я значение этой переменной не менял. Возможно это потому, что я не сталкивался с импортом баз данных объёмом более 6-7 Мегабайт. Но, быть может у Вас возникнет такая ситуация, так что имейте это ввиду. И если решите увеличить время на загрузку в переменной max_execution_time, то в таком случае не забывайте отслеживать значение ещё одной (пятой) переменной. Зовут её max_input_time и по умолчанию её значение равно 60 секунд:
max_input_time = 60
Переменная max_input_time всегда должна иметь большее значение, чем max_execution_time.
В конце всех манипуляций не забудьте сохранить файл php.ini и перезагрузить локальный сервер DENWER!
Удачных Вам загрузок!!!