Максимальный размер файла 20 мб art php. Изменить максимальный размер загружаемого файла. Увеличиваем максимальный размер загрузок

Доброго времени суток! Сегодня мы вновь коснемся вопросов переезда с сервера на сервер и тех проблем, которые могут возникнуть в процессе этого.

Речь пойдет о переносе баз данных и о тех особенностях конфигурации серверов, которые могут «всплыть» при работе в phpMyAdmin.

Вводная часть

Начну с лирического отступления. Когда я только начинал свою более-менее профессиональную деятельность в WEB-разработке, мне казалось логичным и единственно верным правило: новый сайт — это всегда новая база данных. Что же здесь непонятного? Все с чистого листа. Зачем тянуть за собой уже существующие таблицы данных? В ответ на это системный администратор, который входил в команду работающую над рядом интернет-проектов, всегда тяжело вздыхал, иногда сильно ругался и рассказывал о префиксах таблиц. В общем, выбить новую базу данных было тяжело. Почти невозможно. Меня это очень даже раздражало, раздражало до степени бешенства.

Не понимал я подхода администратора сервера ровно до того момента пока мне не пришлось столкнуть с переносом двух десятков сайтов с одного сервера на другой. При этом ряд интернет-ресурсов использовали сразу несколько баз данных. В общем, осознал и встал на путь исправления. Подход изменился. Теперь я группирую различные проекты по 3-5 базам данных, что значительно упрощает жизнь. Объем каждой базы данных больше, но количество самих баз — значительно меньше.

Сразу скажу, что значительный объем базы данных может быть вызван всего одним единственным интернет-ресурсом. С такой ситуацией сталкиваюсь часто и обязательно беру ее в расчет. Так в чем же могут возникнуть проблемы с переносом баз данных? Переходим к практической составляющей.

Максимальный размер файла 2048 килобайт

Как правило, именно таким бывает стандартное ограничение для импорта существующей базы данных.

PMA как бы намекает... Бекапы более 2 мегабайт — не принимаются

Как вы уже могли догадаться, базу данных можно загнать в архив с расширением.gzip, .bzip2 или.zip, закрыв тем самым вопрос. Однако удается это далеко не всегда. Проще говоря, попытка архивации damp.sql, размеров в 100 МБ не принесет желаемого результата. Но мы попробуем, бегло проверив насколько возможно сжать базу тем или иным архиватором.

Архивация баз данных

Немного экспериментальной части.

В нашем распоряжении бекап с расширением.sql размером ~100 МБ. Что же нам даст архивация?

Результаты были получены в десктопном архиваторе 7zip. Конфигурация стандартная.

Эксперимент завершен. Результаты сжатия замечательны, но недостаточны для решения поставленной задачи.

Примечание: увеличение уровня компрессии и прочие настройки могут дать более значительные результаты, однако для чистоты эксперимента мы рассматривали сугубо стандартные настройки.

Как снять ограничения

Понимая, что задача не решается на уровне файла, приступим к решению на уровне сервера. Здесь есть как минимум два способа.

Первый, он же классический. Редактирование файла php.ini , как правило, путь к файлу следующий: /etc/php5/apache2 .

Отредактировать данный файл можно как с помощью консоли, так и с помощью ISPmanager, либо любой другой панели управления.

Интересовать нас будут 2 параметра:

  • upload_max_filesize - максимальный размер загружаемого файла
  • post_max_size - максимальный размер сообщения методом POST.

Я установил оба параметра равным 200 МБ. Перезапускаем FPM (FastCGI Process Manager) командой service php5-fpm restart . Кстати, сделать все тоже самое можно через интерфейс ISPmanager:

ISPmanager: настройки PHP

Готово. Размер импортируемого файла увеличен.

Альтернативный подход: импорт файла из папки

Редактируем файл /etc/phpmyadmin/config.inc.php . Нас будет интересовать параметр $cfg["UploadDir"] . Здесь мы должны указать путь к папке, в которой расположены бекапы баз данных. Заглянем в Импорт phpMyAdmin, появился новый пункт:

Важно! Не все йогурты одинаково полезны. Далеко не к каждой директории у phpMyAdmin есть права доступа!
Рекомендую использовать /usr/share/название_папки/ .

Готово. Можно импортировать.

Вот в общем-то и все. Желаю Вам успешных переездов и только надежных серверов. До новых встреч.

09 мая 2017 Подробности Автор: Долматов Вячеслав Просмотров: 2161

При переносе (импортировании) базы данных с помощью 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 !

Удачных Вам загрузок!!!

Он у меня, к слову, от компании Infobox , я, конечно же, занялся переносом своих сайтов на него. И первой проблемой, с которой я столкнулся, это оказалось что моя база данных MySQL весит уже не много, не мало, а 120Мб, а по-умолчанию поддерживается загрузка файлов размеров, максимум в 2048 килобайт.

Конечно же, меня это не обрадовало и я начал искать пути решения этой проблемы. Их оказалось даже два, один предложенный командой разработчиков MySQL и второй связанный правкой конфига php.ini и увеличения максимального размера файла, загруженного через атрибут POST. Конечно же я напишу об обоих. Хотя если вы используете CMS для загрузки файлов на сайт, тогда лучше использовать второй способ.

1 способ. Указание каталога для загрузки больших файлов баз данных в phpMyAdmin.

Подключаемся через терминал или Putty к нашему серверу и открываем в текстовом редакторе файл конфига phpMyAdmin. Я для этого использую текстовый редактор nano.

nano /etc/phpmyadmin/config.inc.php

В открывшемся окне ищем строчку с параметром $cfg[‘UploadDir’] у меня это была предпоследняя строка. Прописываем в кавычках путь, в который вам нужно будет закачать файл базы данных. Я дли этого буду использовать каталог nginx для сайтов.

/usr/share/nginx/www

Жмем клавиши Ctrl+X и сохраняем файл.

2 способ. Изменение конфига php.ini для возможности загрузки файлов более 2мб.

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

1) Открываем конфиг php.ini в текстовом редакторе.

nano /etc/php5/fpm/php.ini

2) Тут нам нужно найти и изменить два параметра:

upload_max_filesize — устанавливает максимальный размер загружаемого файла,
post_max_size — отвечает за максимальный размер сообщения методом POST.

Я выставлю значение upload_max_filesize равным 150мб, а post_max_size — 200мб.


В зависимости от тематики блога, иногда может понадобиться быстрая загрузка различных видеороликов, аудиоматериалов или изображений высокого качества. К сожалению, в CMS WordPress предусмотрен определенный лимит на размер загружаемого файла. Поэтому я вам расскажу о тех способах, которые позволят вам быстро загружать большие файлы.

Конечно, если вы загружаете файл большого размера и возникает ошибка, то можно загрузить его через FTP или из административной части вашего хостинга. Однако согласитесь, что такой способ менее удобен и более затратный по времени. Куда проще и быстрее загружать файлы прямо с административной части . Но разработчики данной CMS посчитали нужным установить определенный лимит на размер загружаемого файла. В зависимости от версии движка, этот лимит может отличаться. Однако его не всегда может хватить для быстрой загрузки нужных файлов.

Такое ограничение приносит очень большие неудобства тем, кто выкладывает фотографии, музыку, различные подкасты или качественное видео на свой блог или сайт. К счастью данную проблему можно быстро и с легкостью решить. Вот те способы, которые помогут вам быстро загружать файлы нужного размера:

  • редактирование файла.htaccess — этот файл находится на сервере в корневой папке сайта, то есть в папке « publiс_html » —> « ваш домен «. Если на локальном сервере, то это будет просто папка с названием сайта. В итоге, на сервере в корневой папке сайта вам нужно будет найти файл.htaccess и скачать его к себе на компьютер. Скачивать и закачивать файл на сервер можно с помощью файлового менеджера вашего хостинга, либо через . Когда скачаете файл к себе на компьютер, то откройте его с помощью программы Notepad++. Почти в самом конце, прямо перед строчкой с надписью # END WordPress, вставьте код, который доступен ниже. Вместо чисел вставляем свои одинаковые значения и сохраняем. После этого старый файл.htaccess на сервере удаляем, а вместо него закачиваем новый со своего компьютера. Изменения должны вступить сразу.
php_value upload_max_filesize 300M php_value post_max_size 300M
  • изменение файла wp-config.php — ищем такой файл на сервере в корневой папке сайта и потом прописываем в нем следующие строчки со своим значением:
define("UPLOAD_MAX_FILESIZE", "300MB"); define("POST_MAX_SIZE", "300MB");

если не поможет, то вместо предыдущего в этом же файле попробуйте прописать вот этот код:

Ini_set("upload_max_size" , "300M"); ini_set("post_max_size", "300M");

  • создание файла php.ini — если на самом сервере у вас нет этого файла, то на компьютере создайте его (например, с помощью Notepad++) и пропишите предельное значение файла. Значение может быть любым, но не делайте его слишком большим. У меня, к примеру, установлено на 300 M. Как только файл будет готов, вам потребуется просто загрузить его в корневую папку сайта. Вот то, что нужно будет прописать в этом файле:
upload_max_filesize = 300M post_max_size = 300M

Вам нужно выбирать один способ, и если он не будет работать, то переходить к следующему. Начинать лучше с самого первого способа, так как он работает во многих случаях. Только если не будет никаких изменений, то стоит переходить уже к следующему способу. Перед внесением изменений всегда создавайте резервную копию.

Важно знать, что не все способы могут работать. Все зависит от версии WordPress и от хостинга. Кроме самого первого способа, все изменения могут вступить не сразу. Может потребоваться определенное количество времени. Если вы заметили, что все перечисленные способы не работают, то обратитесь за помощью к своему хостингу. Они изменят на своем сервере конфигурационные файлы.

Итак, теперь вы знаете, как можно увеличить допустимый размер загружаемых файлов прямо WordPress. Теперь вам больше не придется лишний раз пользоваться FTP-клиентом или заходить на свой хостинг и загружать туда свои файлы. Однако не указывайте очень большие размеры, так как место на хостинге может незаметно улетучиться. Удачного блоггинга!

По умолчанию WordPress устанавливает небольшой лимит на размер загружаемых изображений, видеороликов и других файлов. Аналогичная ситуация с PHP memory limit , который сказывается на возможности запускать плагины и скрипты.

Если вы запускаете сайт с большим количеством контента, эти лимиты могут стать проблемой. Можно получить ошибку при загрузке:

Объем загружаемого файла превышает ограничение, заданное директивой upload_max_filesize в файле php.ini

Если достигнут предел выделяемой памяти, то выведется другое сообщение об ошибке:

Неустранимая ошибка: допустимый размер памяти 12345678 байт исчерпан (вы пытались выделить 2345678 байт) в /home/your-username/public_html/wp-includes/plugin.php в строке 1000

Рассмотрим наиболее эффективные способы увеличения этих лимитов на сервере. Начнем с memory limit php ini .

Обновление файла php.ini

Если вы используете CPanel , перейдите в раздел «Файлы » и нажмите кнопку «Диспетчер файлов ». Убедитесь, что установлен флажок «Показать скрытые файлы », а затем нажмите на кнопку «Перейти ».

Выберите папку wp-admin и найдите файл php.ini или php5.ini . Если такого файла нет, создайте его, нажав на кнопку «Создать файл », расположенную в верхнем левом углу. Назовите файл php.ini и нажмите во всплывающем окне кнопку «Создать файл »:

Если ошибка не исчезла, попробуйте переименовать файл в php5.ini . Когда файл будет открыт, добавьте в него приведенные ниже строки, а затем сохраните изменения и закройте файл:

upload_max_filesize = 1000M post_max_size = 2000M memory_limit = 3000M file_uploads = On max_execution_time = 180

M — означает мегабайты. Измените лимиты 1000M, 2000M и 3000M на значения, которые необходимы. Изменение значения max_execution_time ограничит время загрузки скрипта.

Во многих случаях используемые значения должны увеличиваться по мере перехода в списке от первой до третьей строки. Upload_max_filesize должен быть самым маленьким, memory limit php ini — самым большим. При этом post_max_size должен иметь среднее значение.

Прежде чем проверить, не исчезла ли ошибка, очистите кэш браузера.

Редактирование файла.htaccess

Если редактирование php.ini не помогло, попробуйте изменить файл .htaccess . Добавьте приведенный ниже код в конец файла:

php_value upload_max_filesize 1000M php_value post_max_size 2000M php_value memory_limit 3000M php_value max_execution_time 180 php_value max_input_time 180

Измените значения php ini set memory limit так, как вам нужно. Не забудьте сохранить файл и очистить кэш браузера.

Изменение файла wp-config.php

Если оба способа не дали результата, попробуйте отредактировать файл wp-config.php , добавив следующий код в самый низ, перед строкой «happy blogging «:

define(‘WP_MEMORY_LIMIT’, ‘3000M’);

Сохраните файл и очистите кэш браузера.

Изменение лимитов в WHM

Если сайт размещен на VPS или выделенном сервере, можно попробовать изменить лимиты в WHM .

После того, как вы вошли в систему, перейдите в раздел Конфигурация сервера> Настройки > PHP .


Введите нужные вам значения и нажмите кнопку «Сохранить ».

Затем перейдите в раздел Конфигурация служб> Редактор конфигурации PHP . Прокрутите страницу вниз до разделов memory_limit и upload_max_filesize :


Введите необходимые значения. В разделе «Параметры и информация » найдите memory_limit и задайте то же значение, которое вы установили в memory limit php ini и .htaccess .

Заключение

Мы рассмотрели все способы решения данной проблемы. Наслаждайтесь возможностью загружать большие файлы и продолжайте использовать на своем сайте плагины WordPress . Внесенные в php memory limit htaccess изменения должны вступить в силу через несколько минут, после чего можно будет приступить к работе с новыми параметрами.

Если нужно загрузить большие файлы только один раз, попробуйте сделать это через FTP . Обычно файлы, загруженные через FTP в каталог /wp-content/uploads/ , не отображаются в библиотеке медиа. Но с помощью плагина Media from FTP можно отобразить их всего в несколько кликов.

Если ни один из вариантов не дал результата, свяжитесь со своим хостинг-провайдером.

Перевод статьи «How to Increase the Maximum Upload and PHP Memory Limit » дружной командой проекта .

Хорошо Плохо