Вероятно размер загружаемого файла слишком велик способы обхода данного ограничения описаны в документации
Обновлено: 07.07.2024
Я пытался импортировать базу данных через phpMyAdmin. Мой файл базы данных a.sql и его размер составляет 1,2 ГБ Я пытаюсь импортировать это на локальном и phpMyAdmin говорит:
вы, вероятно, пытались загрузить слишком большой файл. Пожалуйста, обратитесь к документации для способов обхода этого ограничения.
пожалуйста, помогите мне действительно нужно, чтобы это работало.
его из-за PHP, который имеет ограничение размера файла для загрузки.
Если у вас есть доступ к терминалу/оболочке, то вышеуказанные ответы @Kyotoweb будут работать.
один из способов сделать это заключается в том, что вы создаете .файл htaccess / ini для изменения настроек PHP, чтобы получить файл sql, загруженный через PHPmyAdmin.
Примечание Вы должны удалить этот файл после загрузки.
- открыть php.ini-файл из C:\wamp\bin\apache\Apache2.4.4\bin обновление следующее направление чем после перезагрузки WAMP сервера или перезапуска всех служб теперь загрузить данные с помощью функции импорта в phymyadmin. Применить второй шаг, если пока не загрузить данные.
- открыть config.по умолчанию.php-файл в c:\wamp\apps\phpmyadmin4.0.4\libraries (Откройте этот файл по к в phpmyadmin версии)
Найти $cfg['ExecTimeLimit'] = 300; заменить на $cfg['ExecTimeLimit'] = 0;
Теперь вы можете загружать данные.
- нажмите на значок WampServer - > MySQL - > mysql Consol
- введите пароль базы данных, как root in popup
- выберите имя базы данных для вставки данных, написав команду USE DATABASENAME
- затем загрузите исходный файл sql как SOURCE C:\FOLDER\database.sql
- нажмите enter для вставки данных.
использовать командную строку :
где MYDATABASE.SQL-это sql файл.
еще один вариант, который никто здесь еще не упоминал, - это сделать ступенчатую загрузку базы данных с помощью такого инструмента, как BigDump чтобы обойти ограничение. Это простой PHP-скрипт, который загружает фрагмент базы данных за один раз, прежде чем перезапустить себя и перейти к следующему фрагменту.
Давайте разберёмся, где именно находятся эти самые настройки и как их можно изменить. Оговорюсь сразу, что в данной статье речь пойдёт о локальном сервере 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.
Читайте также: