1) в самом Alto CMS
2) в настройках PHP
3) в настройках сервера
Ограничения в Alto CMS
Максимальный размер всех загружаемых файлов задается в конфигурации движка:$config['module']['uploader']['files']['default'] = array(
'file_maxsize' => '5Mb', // максимальный размер загружаемого файла
// ...
);
По умолчанию это 5 мегабайт. Но вы можете именно для изображений задать свой размер, если добавите параметр 'file_maxsize' в секцию module.uploader.images.default, например, так:$config['module']['uploader']['images']['default'] = array(
'$extends$' => '___module.uploader.files.default___',
'file_maxsize' => '25Mb', // максимальный размер - 25 мегабайт
// ... прочие параметры
);
Более того, если уж очень нужно, то можете задать свои ограничения для загружаемых аватар или для изображений фотосета.И, на всякий случай, обращу ваше внимание, что кроме размера файла в конфиге еще задаются предельные размеры высоты и ширины изображения в пикселях — параметры 'max_width' и 'max_height', не забывайте и о них.
Ограничения в настройках PHP
Но вот ведь как бывает — настройки нужные в движке сделали, а на сайт все равно грузятся только фотки размером с почтовую марку. Тогда самое время проверить настройки PHP- у него могут быть свои ограничения. Текущие настройки PHP, которые применяются к вашему сайту, можно посмотреть в админке (Информация / Информация о PHP) в секции Core. Там есть три параметра, которые могут накладывать ограничения: memory_limit, post_max_size, upload_max_filesize. Не вникая в детали, сразу скажу, что memory_limit должен быть больше post_max_size, post_max_size, в свою очередь, должен быть больше, чем upload_max_filesize, а вот upload_max_filesize уже как раз и задает максимальный объем любого загружаемого файла (в т.ч. и изображений).Настройки эти задаются, как правило, в файле php.ini. Расположение этого файла да и вообще возможность его менять зависит от операционной системы, настроек вашего сервера и вообще от вашего хостера. Поэтому, если не знаете, как изменить эти параметры, то лучше обратиться в поддержку вашего хостера.
Но в качестве примера скажу, что на одном из моих проектов заданы такие значения:
memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 28M
Настройка сервера
Было у меня такое — в конфиге движка все задал, как надо, в php.ini тоже, а большие фото все равно не грузятся. Долго ковырялся, пока не понял, что загвоздка в настройках nginx. Есть у него в конфигурации параметр client_max_body_size, и этот параметр должен быть больше максимального размера загружаемого фото, которое вы установили. Чтобы задать этот параметр, нужно конфиг-файле nginx в секции http добавить строку:client_max_body_size 32M;
Еще одна «засада» может быть, если используется Apache и PHP работает в режиме FastCGI. В этом случае сервер при загрузке изображений размером чуть больше почтовой марки может давать ошибку 500, а в логах сервера может быть ошибка примерно с таким текстом:mod_fcgid: HTTP request length 134801 (so far) exceeds MaxRequestLen (131072)
Лечится это добавлением в /etc/apache2/mods-enabled/fcgid.conf строкиFcgidMaxRequestLen 33554432
Так, чтобы в итоге получилось примерно так:<IfModule mod_fcgid.c>
FcgidConnectTimeout 20
FcgidMaxRequestLen 33554432
# Тут могут быть еще директивы
</IfModule>
Но делать это самостоятельно стоит только в том случае, если вы имеете хоть какой-то опыт конфигурирования серверов. В противном случае, опять же, лучше обратиться в поддержку хостера или к более опытным товарищам.
3 комментария
Спасибо!
Это будет ошибка именно nginx, без обработки altocms.
соответственно я в конфиге nginx обошел проблему создав обработку этой ошибки и перенаправление на статическую страничку созданную в altocms.