Изменить максимальный размер загружаемого файла. PhpMyAdmin: снимаем ограничение на размер загружаемого файла

Довольно распространенная проблема, с которой я часто сталкиваюсь в сообществе WordPress, заключается в том, что крупные изображения, темы и плагины не загружаются в WP. Появляется ошибка: «превышен максимальный размер загружаемых файлов для этого сайта». Сегодня я покажу вам, как вы можете увеличить лимит загрузок в WordPress.

Суть проблемы

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

Этот лимит задается с целью безопасности и максимальной эффективности. Пользователи не смогут «завалить» ваш сайт крупными видеофайлами, что привело бы к снижению производительности сервера. Я думаю, что это – вполне оправданная мера, однако стандартный лимит в 2 Мб (который стоит на многих серверах) слишком сильно ограничивает нас, поэтому давайте посмотрим, как мы можем поднять его.

Увеличиваем максимальный размер загрузок

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

Увеличиваем максимальный лимит загрузок в мультисайтовой сборке

Если у вас установлены мультисайты, вы можете управлять лимитом загружаемых файлов в разделе Settings->Network Settings. Обратите внимание, что этот параметр не сможет переопределить настройки сервера. Если на сервере установлен лимит в 5 Мб, а вы установите в админке 10 Мб, ограничение все равно останется 5 Мб.

Если же на сервере задан лимит в 20 Мб, а ваши параметры сети заданы в 1,500 Кб, вы сможете решить этот вопрос, увеличив лимит до 20,000 Кб.

Обращаемся к своей хостинг-компании

Многие хостинг-компании предлагают поддержку, которая может выручить вас в некоторых ситуациях. Увеличение лимита загрузок – тривиальная задача для любого человека из технической поддержки, он сможет это сделать в течение пары минут.

Изменяем настройки сервера

Есть масса параметров сервера, которые влияют на то, как будут обрабатываться загружаемые файлы. К сожалению, во многих руководствах это понимается превратно – в них меняется много всего лишнего. Согласно документации PHP, важную роль в этом вопросе играют три директивы:

  • post_max_size
  • upload_max_filesize
  • memory_limit

Документация также дает нам довольно четкие инструкции по поводу того, как они должны быть настроены:

post_max_size задает максимальный размер разрешенных данных для записей. Этот параметр также влияет на загрузку файлов. Чтобы загружать крупные файлы, это значение должно превышать upload_max_filesize. Если ограничение памяти доступно в вашем конфигурационном скрипте, memory_limit также может повлиять на загрузку файлов. В общем, memory_limit должен превышать post_max_size.

Нам нужно будет установить все эти три параметра, чтобы разрешить загрузку наших размеров файлов. Если самый крупный файл будет иметь размер 10 Мб, то в таком случае я рекомендую установить upload_max_filesize в 12M, post_max_size в 13M, а memory_limit в 15M. Загрузки могут содержать некоторую текстовую информацию наряду с самим файлом, поэтому всегда лучше оставлять некоторое дополнительное пространство для маневров.

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

Создайте или измените php.ini

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

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

Upload_max_filesize = 12M post_max_size = 13M memory_limit = 15M

Создайте или отредактируйте.htaccess

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

С помощью FTP или SSH-соединения перейдите в свой корневой каталог и посмотрите, есть ли в нем файл.htaccess. Если он есть, вы можете отредактировать этот файл вручную, добавив необходимый код для увеличения лимита загрузок.

Php_value upload_max_filesize 12M php_value post_max_size 13M php_value memory_limit 15M

Используем PHP-функцию ini_set()

Я – не любитель такого подхода, однако, если все остальное не дало результата, вы можете попробовать этот метод. Добавьте следующий код в свой файл wp-config.php:

@ini_set("upload_max_size" , "12M"); @ini_set("post_max_size", "13M"); @ini_set("memory_limit", "15M");

В теории вы можете попробовать добавить этот код в functions.php вашей темы либо в основной файл ваших плагинов, однако обычно этот код там не содержится.

Настройка Nginx

Nginx – альтернатива старому доброму Apache. Он может работать в разы быстрее, чем Apache, и именно по этой причине многие узкоспециализированные хостинги используют его на своих серверах для представления страниц. Если вы запустите свой сайт на Nginx, вам нужно будет также изменить свой файл php.ini и конфиг nginx.

Мы уже говорили о том, как настроить php.ini, поэтому сейчас мы приведем код для конфига nginx:

Http { client_max_body_size 13m; }

В группе http может иметься много разных параметров, однако мы меняем только client_max_body_size.

Наконец, что не менее важно, вам нужно будет перезапустить некоторые сервисы, чтобы убедиться в том, что изменения были применены. Выполните следующие команды:

Service php5-fpm restart service nginx reload

Заключение

Проверить, работают ли методы, можно очень просто. Мне нравится такой способ: достаточно перейти к разделу Media и щелкнуть по ссылке Add New. Вы должны увидеть небольшое сообщение, которое гласит: «Maximum upload file size: 8Mb» («Максимальный размер загрузок: 8Мб). Числовое значение должно измениться, как только вы укажете новые параметры.

Я рекомендую вам отменять все изменения, которые не сработали. Файлы.htaccess и php.ini работают наподобие каскадированию в CSS. Значение post_max_size, заданное в дочерней категории, перезапишет ту же самую директиву, стоящую в родительской категории.

Это может привести к некоторым проблемам, если вы зададите эти директивы везде, где только можно.

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

Речь пойдет о переносе баз данных и о тех особенностях конфигурации серверов, которые могут «всплыть» при работе в 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/название_папки/ .

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

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

В зависимости от тематики блога, иногда может понадобиться быстрая загрузка различных видеороликов, аудиоматериалов или изображений высокого качества. К сожалению, в 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-клиентом или заходить на свой хостинг и загружать туда свои файлы. Однако не указывайте очень большие размеры, так как место на хостинге может незаметно улетучиться. Удачного блоггинга!

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мб.