Изменение максимального размера загружаемого файла

У меня есть веб-сайт, размещенный на ПК, к которому у меня нет доступа. У меня есть форма для загрузки, позволяющая пользователям загружать mp3-файлы размером до 30 МБ. Сценарий на стороне сервера выполняется на PHP.

Каждый раз, когда я пытаюсь загрузить файл, я получаю сообщение об ошибке, указывающее, что файл превышает максимально допустимый размер, поэтому мне нужно увеличить размер. Мои исследования в Интернете предложили изменить файл .htaccess которому у меня нет доступа, так что это не сработает. Другие предположили, что я должен добавить собственный файл php.ini в свой корень, который не работает. Любые другие предложения?

Вам необходимо установить значение upload_max_filesize и post_max_size в php.ini:

 ; Maximum allowed size for uploaded files. upload_max_filesize = 40M ; Must be greater than or equal to upload_max_filesize post_max_size = 40M 

После изменения файлов (ов) php.ini вам необходимо перезапустить HTTP-сервер, чтобы использовать новую конфигурацию.

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

См. Описание основных директив php.ini .

Вы можете изменить его через файл .htaccess .

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

Следующее должно позволить вам увеличить лимит загрузки (если поставщик сервера разрешает изменения конфигурации PHP через .htaccess ).

 php_value upload_max_filesize 40M php_value post_max_size 42M 

У меня была та же проблема, и я создал файл .user.ini и поместил его в каталог, в котором находился сценарий загрузки. Внутри этого файла я установил эти два значения:

  upload_max_filesize = 40M post_max_size = 40M 

и это отлично поработало для меня!

Вы также можете использовать функцию ini_set (только для версии PHP ниже 5.3):

 ini_set('post_max_size', '64M'); ini_set('upload_max_filesize', '64M'); 

Как и @acme, в php 5.3 и выше эти настройки являются директивами PHP_INI_PERDIR, поэтому их нельзя установить с помощью ini_set. Вы можете использовать user.ini.

Чтобы найти файл ini, сначала выполните

 php -i | grep -i "loaded configuration file" 

Затем откройте файл и измените

 upload_max_filesize = 2M post_max_size = 2M 

заменив 2M на нужный размер, например 100M.

У меня есть сообщение в блоге с немного дополнительной информацией. http://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini- файл-для-WordPress

У меня такая же проблема в прошлом … и я исправил ее через файл .htaccess

Когда вы вносите изменения в php-конфигурацию через .htaccess вы должны поместить настройки в тег IfModule , другой, чтобы ошибка внутреннего сервера повысилась

Это пример, он отлично работает для меня

 <IfModule mod_php5.c> php_value upload_max_filesize 40M php_value post_max_size 40M </IfModule> 

И это php-ссылка, если вы хотите понять больше. http://php.net/manual/en/configuration.changes.php

Я решил эту проблему, создав файл с именем .user.ini в каталоге, где находятся скрипты PHP-файлов (это означает, что любой скрипт PHP в этом каталоге получает новый размер файла)

Содержимое .user.ini :

 upload_max_filesize = 40M post_max_size = 40M 

Хорошо, я хотел бы добавить свои 2 цента здесь.

Я использую общий веб-хостинг, и я много раз занимался этой проблемой, пытался решить ее самостоятельно, но безрезультатно. Наконец, мне удалось решить эту проблему, проверив различные веб-источники и связавшись с моим провайдером хостинга. Мои вопросы: «Как я могу изменить значение php memory_limit в совместном веб-хостинге?», «Как мне изменить значение php upload_max_filesize в общем веб-хостинге?», «Как мне изменить значение php max_input_vars в общем веб-хостинге?», «Как я могу изменить php value max_execution_time в совместном веб-хостинге? »,« Как мне изменить значение php max_input_time в совместном веб-хостинге? » и многое другое, настраивая или изменяя файл php.ini или .htaccess . Я попытался их изменить, но возникли проблемы. Наконец, я связался с моим хостинг-провайдером, и оказалось, что я установил свой php в native, они изменили его на php 5.6, вот их ответ:

«Ваш PHP был настроен на« родной »режим, что означает, что вы не можете переопределить эти значения. Я изменил вас на« 5.6 », поэтому вам должно быть хорошо идти».

После этого я подключил свой сайт через ftp Filezilla, также не забудьте сделать так, чтобы ваша служба ftp отображала скрытые файлы и ваш локальный компьютер, чтобы сделать это, потому что файл .htaccess был скрыт в моем локальном ноутбуке и на моем веб-сайте. Он был доступен в папке public_html, я только что загрузил его и добавил следующие коды в конец файла, а затем загрузил его обратно на сервер:

 php_value memory_limit 256M php_value post_max_size 256M php_value upload_max_filesize 64M php_value max_input_vars 1800 php_value max_execution_time 300 php_value max_input_time 300 

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

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

Еще одна вещь, о которой я почти забыл упомянуть об установке ZipArchive в вашем общем сервисе веб-хостинга, мне удалось установить это требование, просто перейдя в настройки php через мою cpanel, нажмите на расширения селектора php, а затем отметьте раздел zip, вот и все.

Благодарю.

PS: Я открыт для хороших практик, и если вы видите какую-нибудь плохую практику, пожалуйста, дайте мне знать, я постараюсь изменить их. Благодарю.

Non из этих решений работает для меня !! (по умолчанию установлено 32M). Проблема в большинстве случаев max_allowed_packet

Я работаю над localhost и использую MAMP .

Вот решения;

1. Если у вас нет my.ini

Добавить

 --max_allowed_packet=168435456 

к

 ...\MAMP\bin\startMysql.sh 

2. Если у вас есть my.ini

Под

 [mysqld] 

Добавить

 max_allowed_packet=100M 

СДЕЛАННЫЙ!

У меня такая же проблема. Я пробовал три способа, которые обычно предлагались:

  1. functions.php
  2. php.ini
  3. .htaccess

никто, если бы решил мою проблему. Я использую godaddy и наткнулся на предлагаемое решение, которое было:

  1. получил веб-хостинг , затем Управление
  2. В разделе « Программное обеспечение» выберите « Выбрать версию PHP»
  3. Выберите « Переключиться на PHP-параметры» в верхнем правом углу таблицы в цвете шрифта: синий
  4. В нижней части большей части вы, вероятно, будете иметь upload_max_filesize = 2M
  5. Теперь, не стесняйтесь менять его
  6. Обязательно нажмите кнопку « Сохранить» !
  7. Теперь перейдите на панель wp-admin, выберите Media, затем Add

Вуаля! Теперь у вас есть другой максимальный размер загружаемого файла 🙂

Три вещи, которые вам нужно проверить.

upload_max_filesize , memory_limit и post_max_size в файле конфигурации php.ini.

Все эти три параметра ограничивают максимальный размер данных, которые могут быть отправлены и обработаны PHP.

Обычно post_max_size и memory_limit должны быть больше, чем upload_max_filesize .


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

Возможно, это должен быть комментарий к @ seanb123 и @Fredrick Gauss, комментирующий его комментарий, но для меня в Drupal 8.1 файл, который мне нужно было изменить, был здесь:

 /etc/php/7.0/apache2/php.ini 

Я смоделировал, вероятно, четыре других файла php.ini, включая одну мою систему под названием «Загруженный файл конфигурации» (php -i | grep -i «загруженный файл конфигурации») и тот, который найден на странице info.php, но ни один из них помог. Я нашел правильный путь на сайте с 2012 года, где он сказал, что путь был устаревшим даже НАЗАД. Конечно, для PHP7 это немного отличается от того, что он сказал тогда: /etc/php5/apache2/php.ini, но концепция была такой же.

Возможно, это поможет каким-то другим беспомощным ермакам, как я.

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

Сайт, который помог мне: http://www.evilbox.ro/linux/remove-ispconfig-maximum-upload-size-of-2m-for-wordpress/

Здесь также рассматривается: Ограничение размера файла импорта в PHPMyAdmin

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

 ini_set('upload_max_filesize', '10M'); ini_set('post_max_size', '10M'); ini_set('max_input_time', 300); ini_set('max_execution_time', 300);