Лимит загрузки WordPress доставляет вам неудобства? Вот как это можно исправить
Новые встроенные медиа плееры WordPress делают систему мощной платформой для потокового видео и аудио. Однако вы, вероятно, уже заметили, что WordPress имеет ограничения по максимальному размеру файлов, которые могут загружаться:

Если вы захотите узнать, каков лимит для вашего сайта, вы можете зайти в раздел «Медиафайлы» - «Добавить новый». Ниже в поле загрузки вы увидите надпись «Максимальный размер загружаемого файла» с числом рядом с ней в мегабайтах. Это число показывает, насколько большие файлы вы можете загрузить на свой сайт.
По умолчанию ограничение на размер загружаемых файлов установлено в пределах от 2 Мб до 128 Мб. Если в данный момент у вас установлен минимально возможный предел, то вы можете повысить его и получить возможность загружать большие медиа файлы.
К сожалению, для увеличения этого лимита недостаточно просто изменить это значение по умолчанию. То, насколько большие файлы вы сможете загружать на сайт, также зависит от настроек вашего сервера.
В конце концов, вам, возможно, придется поменять несколько вещей, прежде чем все заработает, как вам нужно. В этой статье мы шаг за шагом разберем все настройки, которые вам придется произвести, чтобы получить работающее решение.
Для большинства действий, которые потребуются, вам будет нужен доступ к сайту по FTP.
- Настройка инфо файла PHP
- Особое внимание обратите на версию PHP
- Редактирование php.ini
- Фрагмент содержимого из файла php.ini
- Загрузка собственного файла php.ini
- Файл php.ini в FTP-клиенте Cyberduck
- Использование файла .user.ini
- Возможно, вам подойдет решение с помощью .htaccess
- Конфигурационный файл WordPress
- Обращение за помощью к поддержке хостинг-провайдера
- Увеличение лимита загрузки на MAMP
- Увеличение лимита загрузки на WAMP
- Поиск своего решения
Настройка инфо файла PHP
Прежде чем начать пробовать различные решения, следует получить некоторые сведения о том, как настроен на вашем сайте PHP. К счастью PHP имеет простую функцию, которая поможет сделать это. Создайте в любом текстовом редакторе новый файл и добавьте в него следующую строку кода:
<?php phpinfo(); ?>
Назовите файл "info.php" и сохраните его. После этого перейдите по FTP в корневую папку вашего сервера, в которой установлен WordPress, и перетащите в нее файл info.php. Затем, перейдите по адресу "http://yoursite.com/info.php", где "yoursite.com" заменяется фактическим URL-адресом вашего сайта. В результате вы получите полный список элементов конфигурации PHP:

Особое внимание обратите на версию PHP
Здесь очень много информации, но большую ее часть вы можете игнорировать. Самая важная часть этого файла - какая версия PHP у вас в данный момент работает. Это будет указано в верхней части печатными буквами, например “PHP Version 5.4.16".
Самое важное - это первые числа номера версии. Это может быть либо PHP 4, либо PHP 5. Некоторые советы, изложенные здесь, потребуют, чтобы вы знали, какая версия у вас установлена, так что примите это к сведению.
Есть еще три настройки в инфо файле PHP, которые имеют отношение к теме нашей статьи. Вам нужно просмотреть данный файл, чтобы выяснить, какие значения для них на данный момент установлены.
memory_limit - определяет, сколько памяти выделяется на PHP. Вы просто должны убедиться, что это число равно или превышает лимит загрузки, который вы хотите установить.
post_max_size - определяет максимальный размер, который обрабатывается в запросе POST. Для этой настройки нам нужно будет установить значение нашего нового лимита загрузки.
upload_max_filesize - определяет максимально возможный размер загружаемого файла. Для этой настройки нам также нужно будет установить значение нашего нового лимита загрузки.
Теперь, когда у нас есть немного информации о конфигурации PHP, мы можем попробовать несколько различных методов увеличения лимита на размер загружаемых файлов.
Редактирование php.ini
Если вы зададите на поиск через Google способы повышения лимита загрузки в WordPress, вы, вероятно, получите разнообразные варианты решений.
Большинство из них - это обходные пути, но самый лучший способ увеличить лимит размера загружаемых файлов - это внести изменения в файл php.ini вашего сервера. php.ini файл содержит все элементы конфигурации РНР, и через него вы можете изменить значения, которые вы видели на странице информации о конфигурации PHP.
В зависимости от настроек вашего хостинга, вы можете получить возможность редактировать файл php.ini непосредственно. Чтобы найти этот файл, зайдите по FTP на свой сайт, и перейдите в папку, где установлен WordPress. Как правило, это папка “html” или “www”. Отсюда по FTP вам нужно перейти в верхнюю корневую папку. Это, как правило, папка на один или два уровня выше, чем та, где установлен WordPress.
Из корневой директории вашего сервера вы начинаете поиск папки, где размещен файл php.ini. Как правило, это папка “conf” или “etc”. Поищите файл "php.ini" в этих папках. Если найти его не удалось, обратитесь к справочным материалам вашего хостинга. Перетащите этот файл в какое-нибудь место на локальном жестком диске и откройте его в любом текстовом редакторе.
Нам нужно будет изменить в этом файле несколько значений, так что вам нужно будет производить поиск по файлу. Для демонстрации я хочу увеличить свой лимит загрузки до 64 МБ. Вы можете установить его выше, однако не рекомендуется устанавливать новое значение больше, чем 128 Мб:

Фрагмент содержимого из файла php.ini
Во-первых, найдите значение параметра "memory_limit" и измените его на 64M (если оно уже не установлено на 64M или больше). Далее, найдите параметр "post_max_size" и измените его значение на 64M. Наконец, найдите "upload_max_filesize" и снова измените его значение на 64M. Важно при определении лимита использовать обозначение "M", а не обычно используемое MB.
Вы также можете найти переменную "max_execution_time" и установить для нее значение что-то вроде 300. Это гарантирует, что ваш сайт не даст сбой при загрузке больших файлов.
В конечном итоге ваши значения будут выглядеть следующим образом:
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
Только эти значения будут разбросаны по всему файлу. Когда вы закончите, сохраните файл и перетащите его обратно в папку, где находится ваш файл php.ini и перезапишите существующий файл. Пока эти изменения вступят в силу, может пройти некоторое время. Если вы используете выделенный сервер и имеете соответствующие права, попробуйте перезагрузить сервер.
Если вы не знаете точно, как перезагрузить сервер, проконсультируйтесь со службой поддержки вашего хостинг-провайдера. В противном случае, убедитесь, что кэш вашего браузера и сайта очищен. И будем надеяться, что, когда вы снова перейдете в раздел Медиафайлы - Добавить новый, вы увидите, что там уже прописан новый максимальный размер загружаемого файла. Значит наша цель достигнута.
Загрузка собственного файла php.ini
Если вы не можете найти файл php.ini или не имеете к нему доступа, вы сможете загрузить свой файл, чтобы переопределить параметры по умолчанию. Чтобы сделать это, создайте новый файл и откройте его в текстовом редакторе. Затем вставьте в него следующий код:
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
file_uploads = On
max_execution_time = 300
Опять-таки, я устанавливаю лимит загрузки 64MB, но вы можете установить значение, которое нужно вам.
Помните, выше я упоминал о необходимости знать версию PHP? Если вы работаете на PHP версии 4, то сохраняйте это файл, как "php.ini". Если на PHP версии 5, сохраняйте его, как "php5.ini". Если случится, что вы работаете на версии 5, но приведенное выше имя файла не работает, вы можете переименовать файл в "php.ini" и загрузить его снова:

Файл php.ini в FTP-клиенте Cyberduck
После этого снова перейдите по FTP на ваш сайт и найдите корневую папку, где размещаются файлы WordPress. Перетащите файл в эту папку.
Опять же, если у вас есть возможность перезагрузить сервер вы должны это сделать, а затем очистите кэш браузера и сайта. Чтобы удостовериться, действительно ли работает этот метод, перейдите в раздел Медиафайлы -> Добавить новый, и, если максимально возможный размер файла увеличился, значит все в порядке.
Использование файла .user.ini
Если приведенный выше метод не сработал, вы можете использовать другой вариант. Он будет работать, только если вы используете PHP версии 5. В противном случае, вы можете пропустить этот раздел.
Создайте новый файл и на этот раз назовите его ".user.ini". В этот файл вставьте следующий код:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 64M
max_execution_time = 300
Вы можете изменить значение 64M на то, что вам нужно. Сохраните этот файл, а затем перетащите его в папку, где у вас установлен WordPress. Если у вас есть возможность перезагрузить сервер, сделайте это. Изменения могут вступить в силу через некоторое время. Подождите немного, после чего перейдите в раздел Медиафайлы -> Добавить новый.
Возможно, вам подойдет решение с помощью .htaccess
Если вы перепробовали все методы, связанные с php.ini, и ни одно из них вам не подошло, возможно, решение проблемы заключается в использовании файла .htaccess. В общем, .htaccess используется для настройки сервера Apache. Тем не менее, этот файл также может быть использован для изменения значений PHP, если ваша версия PHP установлена, как модуль Apache.
Перед тем, как редактировать файл .htaccess, убедитесь, что у вас есть резервная копия его текущей версии. Изменения в этом файле могут привести к внутренним ошибкам сервера или вы вообще увидите пустой экран. Данные ошибки легко исправить - достаточно всего лишь перезагрузить файл .htaccess.
Чтобы получить доступ к этому файлу, перейдите в корневую папку WordPress. Убедитесь, что в вашем FTP-клиенте включена возможность просмотра скрытых файлов, после чего откройте файл ".htaccess". В нижней части файла вставьте следующий код:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
Затем сохраните изменения на сервере. Перейдите на свой сайт и проверьте, не возникли ли какие-либо ошибки с отображением контента. После этого вы можете перейти в раздел панели администрирования Медиафайлы -> Добавить новый, чтобы посмотреть, вступили ли в силу изменения лимита загрузки.
Если вы столкнулись с какими-нибудь проблемами с отображением сайта, загрузите файл резервной копии .htaccess, который вы сохранили ранее на диске.
Конфигурационный файл WordPress
Если ничего из этого не помогло, есть еще одна возможность, которую Вы можете использовать. Для этого потребуется напрямую редактировать файлы WordPress.
Первым делом зайдите через FTP на сервер и перетащите файл "WP-config.php", расположенный в корневой папке, на свой компьютер, чтобы вы могли его редактировать. Откройте файл и внизу добавьте следующую строку:
define('WP_MEMORY_LIMIT', '64M');
Затем загрузите этот файл обратно на сервер.
Перейдите в папку активной темы и перетащите на компьютер файл "functions.php", чтобы его можно было редактировать. Откройте файл и в самом верху добавьте:
@ini_set( 'upload_max_size' , '64M' );
@ini_set( 'post_max_size', '64M');
@ini_set( 'max_execution_time', '300' );
Это делает возможным редактирование файла php.ini вашего сервера во время выполнения. Исторически так сложилось, что это наиболее эффективное решение. Очистите кэш браузера и сайта, и перейдите в раздел Медиафайлы -> Добавить новый, чтобы посмотреть, вступил ли в силу новый лимит.
Обращение за помощью к поддержке хостинг-провайдера
Если ни один из вышеперечисленных способов не сработал, вы можете обратиться к службе поддержки вашего хостинг - провайдера. Скажите, что вы хотите увеличить значения "memory_limit", "upload_max_size" и "post_max_size" в файле php.ini.
Большинство хостеров сделают это для вас без проблем. Если они не позволяют вам этого сделать, либо же вообще не отвечают, возможно, пришло время поискать новый хостинг.
Увеличение лимита загрузки на MAMP
Бывает, вы разрабатываете свой сайт локально и хотите увеличить свой лимит на локальном сервере. Если вы работаете на Mac, вы можете использовать MAMP, локальный сервер, который дает доступ к Apache, MySQL и PHP. Другими словами, всему, что нужно для запуска WordPress.
К счастью, в MAMP у вас будет доступ к файлу php.ini, вы просто должны знать, где этот файл найти. Первым делом вы должны перейти в раздел “PHP info”, расположенный на рабочем столе MAMP, сверху. Здесь выясните текущую версию PHP.
После того, как вы узнаете это, перейдите по адресу “/Applications/MAMP/bin/php/PHP_VERSION/conf”. В папке “php” вы увидите список различных версий PHP, поэтому будьте внимательны, чтобы перейти к версии, на которой работает в данный момент ваша система. Здесь вы можете файл открыть "php.ini", а дальше следуйте инструкциям, приведенным выше.
В конечном счете, вы должны будете изменить названные переменные, чтобы они выглядели следующим образом:
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
И в вашей локальной среде будет установлен новый лимит на размер загружаемых файлов.
Увеличение лимита загрузки на WAMP
В Windows аналог MAMP называется WAMP. Как и в случае с MAMP, вы будете иметь доступ к файлу php.ini. Чтобы найти его, перейдите по адресу “C:WampDeveloperConfigPhpphp.ini” и откройте файл php.ini. Внесите описанные выше изменения, которые относятся к лимиту загрузки в WordPress:
memory_limit = 64M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
После изменения этих параметров, лимит загрузки будет увеличен.
Поиск своего решения
К сожалению, прежде чем вы сможете увеличить лимит загрузки WordPress, вам придется перепробовать немало вариантов. Я не могу гарантировать, что все они будут работать, но, надеюсь, хотя бы один из них будет. Если у вас не получилось добиться нужного результата, не стесняйтесь, обращайтесь к вашему хостинг-провайдеру.
Хороший хостер поможет вам быстро, и вы получите нужный результат в кратчайшие сроки. Настройка PHP это непростая задача, но чтобы увеличить возможности WordPress, вам, возможно, придется заняться этим.