Изменить максимальный размер загружаемого файла - PullRequest
473 голосов
/ 02 февраля 2010

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

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

Ответы [ 15 ]

4 голосов
/ 03 февраля 2017

Ну, я бы хотел добавить сюда свои 2 цента.

Я использую общий веб-хостинг и много раз решал эту проблему, пытался решить ее самостоятельно, но безрезультатно. Наконец мне удалось решить эту проблему, проверив различные веб-источники и связавшись с моим поставщиком услуг хостинга. У меня были следующие вопросы: «Как изменить значение php memory_limit в общем веб-хостинге?», «Как изменить значение php upload_max_filesize в общем веб-хостинге?», «Как изменить значение php max_input_vars в общем веб-хостинге?» , «Как я могу изменить значение php 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

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

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

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

Спасибо.

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

3 голосов
/ 25 июля 2017

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

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

IМодифицировал, вероятно, четыре других файла php.ini, включая тот, который моя система называла «Loaded Configuration File» (php -i | grep -i "loaded configuration file"), и тот, который был найден на странице info.php, но ни один из них не помог.Ключ к поиску правильного пути был найден на сайте с 2012 года. Они сказали, что путь "/etc/php5/apache2/php.ini" устарел даже НАЗАД ЗАТ, но он дал мне подсказку, где его найти.Для PHP7 это немного отличается от PHP5, но концепция та же.

Может быть, это поможет каким-то другим беспомощным чмо, вроде меня.

При этом ответ на ОП в моемСлучай может быть, что кто-то с правами администратора на коробке должен будет это сделать.

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

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

РЕДАКТИРОВАТЬ: полный текст моей заметки для себя:

Чтобы изменить максимальный размер загрузки, отредактируйте upload_max_filesize и [при необходимости?] post_max_sizeв /etc/php/7.0/apache2/php.ini (или в более старых версиях: /etc/php5/apache2/php.ini)

/ etc / init.d / apache2 restart

ИЗМЕНИТЬ СНОВА: так как вы импортируете большие файлы, вам может потребоваться изменить время ожидания для их обработки.В моем случае файл с именем "config.default.php" был найден в /usr/share/phpmyadmin/libraries/config.default.php с переменной $cfg['ExecTimeLimit'] = 300;. Например, я изменил мой на 900 для огромного импорта.После этого вам нужно перезапустить apache

3 голосов
/ 08 декабря 2014

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

Я работаю на локальном хосте и использую MAMP.

Вот решения;

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

Добавить

--max_allowed_packet=168435456

К

...\MAMP\bin\startMysql.sh

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

Под

[mysqld]

Добавьте

max_allowed_packet=100M

СДЕЛАНО!

2 голосов
/ 23 февраля 2017

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

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

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

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


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

1 голос
/ 13 апреля 2019

С WAMP все довольно просто

WAMP Значок> PHP> Настройки PHP> upload_max_filesize = nM> n = (2М, 4М, 8М, 16М, 32М, 64М, 128М, 256M, 512M или Выбрать (пользовательский)).

Служба (-ы) автоматически перезагружается.

Но, если у вас действительно есть нет доступа ксервер, вы можете изучить написание chunking API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...