Ограничения размера загружаемого файла
Ограничения размера загружаемого файла
Вероятно, самый часто задаваемый вопрос на moodle.org — «Как увеличить ограничение на размер загружаемого файла?» Изменения, которые необходимо внести, одинаковы во всех версиях Moodle, просто в разных операционных системах они вносятся в разных местах. Размер загружаемого файла ограничен несколькими способами, и каждый из них в этом списке ограничивает следующие:
- Уровень сервера.
- Уровень сайта Moodle.
- Уровень курса.
- Уровень активности.
Это спорный вопрос, главным образом потому, что вы можете подумать, что его следует установить внутри Moodle. К сожалению, это не так, это проблемы среды, которые необходимо настроить на сервере и в папках PHP, Moodle не может работать вне себя.
Физический доступ к серверу
Эт и инструкции предполагают, что у вас есть полный физический и административный доступ к вашему серверу. Если вы используете размещённый сервер, вам, вероятно, придётся искать другие способы увеличения размера загружаемого файла.
У обоих методов ниже есть свои плюсы и минусы. Если вы измените файл php.ini, изменения затронут все PHP-приложения на вашем сервере. Начиная с PHP5, на вашем сервере может быть только один файл php.ini. Метод php.ini будет работать со всеми веб-серверами. Метод .htaccess повлияет только на папку и все вложенные папки, в которых он размещён, но у вас должны быть включены определённые настройки в Apache.
Ограничение размера файла — как это работает
Хост может установить ограничение на максимальный размер загружаемого файла в среде сервера, которое вы можете изменить, если хост вам это позволяет. В PHP есть настройка, которая используется для ограничения размера файла, обрабатываемого при загрузке. Хост устанавливает это значение в php.ini в зависимости от своих особенностей и потребностей клиентов. Этот размер отображается в Moodle в выпадающем списке «Администрирование > Безопасность > Настройки безопасности сайта > Максимальный размер загружаемого файла». Вы можете изменить это в любое время в соответствии с потребностями вашего сайта. На странице настроек курса также можно установить дополнительное ограничение. Ни в коем случае настройки курса не могут отменить настройки сайта, а настройки сайта не могут отменить настройки php.ini, которые не могут отменить настройки сервера. Единственное исключение из этого правила заключается в том, что вы можете изменить настройки сервера и PHP, и как это сделать, описано ниже.
Изменение файла php.ini
Эти инструкции показывают, как изменить размер загружаемого файла, отредактировав файл php.ini.
По большей части эти инструкции сводятся к следующему. В файле /etc/php5/apache2/php.ini вам нужно изменить «post_max_size», «upload_max_filesize» и «max_execution_time» на значения, соответствующие вашим потребностям, используя любой редактор, к которому вы привыкли.
Ниже приведены пошаговые инструкции для различных установок Moodle.
Инструкции для Ubuntu Linux
Эти инструкции предполагают, что вы установили стандартный пакет Moodle, PHP 5 и Apache 2 через apt-get и оставили всё как при стандартной установке. Если вы компилировали сами, я предполагаю, что вы знаете, где находятся ваши файлы php.ini! Обратите внимание, что в последней версии PHP теперь 7.2+ вам может потребоваться найти файл. Если вы запустите phpinfo(), это должно дать вам правильный путь, который будет выглядеть примерно так: /etc/php/7.3/apache2/php.ini
Вам нужно изменить следующие три параметра в файле php.ini, расположенном по адресу: /etc/php5/apache2/ Вот набор инструкций для выполнения построчно.
- Введите «sudo nano /etc/php5/apache2/php.ini».
- Нажмите Ctrl и W и введите «post_max_size».
- Измените значение на количество Мб, которое вы хотите, чтобы ваш сайт принимал при загрузке.
- Нажмите Ctrl и W и введите «upload_max_filesize».
- Измените значение на количество Мб, которое вы хотите, чтобы ваш сайт принимал при загрузке.
- Нажмите Ctrl и W и введите «max_execution_time».
- Измените значение на 600.
- Нажмите Ctrl и O.
- Нажмите Ctrl и X.
- Введите sudo apachectl restart.
Системные администраторы NGINX также должны добавить «client_max_body_size XXXm;» в раздел «http» основного файла конфигурации nginx. (см. больше информации) если у вас есть SSL, это потребует от вас установки вышеуказанного для SSL-сервера и местоположения.
Теперь ваш новый лимит размера файла должен появиться в разделе «Управление > Безопасность > Политики сайта > Максимальный размер загружаемого файла ».
Инструкции для XAMPP на Mac
Это инструкции о том, как сделать это для Moodle на Mac с помощью примера пакета загрузки XAMPP. (Это не для производственного сервера OS X.)
- Закройте Apache и MySQL, если они работают через приложение XAMPP Control, и закройте приложение XAMPP Control.
- Откройте Finder и перейдите в Applications.
- Перейдите вниз и откройте папку XAMPP / xamppfiles / etc.
- Откройте файл php.ini с помощью TextEdit (или другого текстового редактора).
- Найдите параметр post_max_size и увеличьте его с 128 Мб (по умолчанию) до большего значения; максимальное значение — 500 Мб.
- Сделайте то же самое для upload_max_filesize (сделайте числа одинаковыми).
- Найдите параметр max_execution_time и увеличьте его до 300 (или больше, если у вас возникают тайм-ауты при загрузке).
- Сохраните файл php.ini.
- Перезапустите Apache и MySQL как обычно.
Примечание: при сохранении файла php.ini может появиться ошибка «отказ в доступе», если вы не вошли в систему с правами администратора Mac. Чтобы обойти это, вы можете временно сделать каталог /etc, в котором находится файл php.ini, доступным для записи. Как это сделать, смотрите здесь или здесь.
Инструкции для Windows XP и Server 2003
Эти инструкции предполагают, что вы скачали последний ZIP-пакет PHP 5.3.x для Windows и распаковали его в C:\PHP. Если вы установили PHP в другое место, то замените все ссылки на «C:\PHP» на место, где вы установили PHP.
| Скачайте и установите любой текстовый редактор, который может сохранять файл в формате UTF-8, Crimson Editor — один из таких, NotePad++ — другой, используйте его вместо Wordpad или Notepad! Проблема в том, что WordPad или Notepad включают скрытые символы, которые могут быть несовместимы с требованиями PHP. |
- Откройте C:\PHP.
- Щёлкните правой кнопкой мыши файл php.ini в этой папке и выберите «Открыть с...» выбрав редактор по вашему выбору.
- Нажмите Ctrl + F и введите «post_max_size» (нажмите «Найти...», где необходимо).
- Измените значение на количество Мб, которое вы хотите, чтобы ваш сайт принимал при загрузке.
- Нажмите Ctrl + F и введите «upload_max_filesize» (нажмите «Найти...», где необходимо).
- Измените значение на количество Мб, которое вы хотите, чтобы ваш сайт принимал при загрузке.
- Нажмите Ctrl + F и введите «max_execution_time» (нажмите «Найти...», где необходимо).
- Измените значение на 600.
- Нажмите Ctrl и S или кнопку сохранения.
- Выйдите из редактора.
- Перезапустите веб-сервер, чтобы перезагрузить PHP с изменёнными настройками.
- Для IIS
- Откройте меню «Пуск» на сервере и выберите «Выполнить».
- Введите «iisreset /RESTART».
- Для Apache 2 и Windows XP
- Перейдите в «Пуск» > «Все программы» > Apache > «Перезапуск».
- Для Apache 2 и Windows Server
- Следующая команда будет работать, пока вы установили Apache 2 как службу на вашем Windows Server.
- Откройте меню «Пуск» на сервере и выберите «Выполнить».
- Введите «httpd -k restart».
Теперь ваш новый лимит размера файла должен появиться в разделе «Управление > Безопасность > Политики сайта > Максимальный размер загружаемого файла».
Примечание: Эти инструкции также охватывают установщик Xampp для Windows. Просто замените C:\PHP на C:\Moodle\server\php и перезапустите Moodle обычным способом остановки и запуска.
Изменение файла конфигурации Apache
Инструкции для Ubuntu Linux
Вам также может потребоваться отредактировать файл config.php в каталоге Moodle:
- Введите «gksudo nautilus», чтобы получить права суперпользователя.
- Перейдите в /etc/moodle.
- Откройте apache.conf.
- Перейдите в раздел «<IfModule mod_php5.c>».
- Измените «php_value upload_max_filesize = 2M» на более высокое значение.
- Измените «