Проблема с загрузкой изображений

Многие пользователи до сих пор испытывают трудности при добавлении в JoomGallery файлов большого размера. Эта статья прольет свет на эту проблему и покажет то, как можно увеличить максимальный размер закачиваемых файлов. Это мы будем делать с помощью настроек нашего сервера.

Как и большинство Joomla компонентов, JoomGallery написан на языке PHP. PHP представляет из собой приложение на стороне сервера. Это означает, что все функции PHP скрипты выполняют на сервере, где и находятся наши страницы сайтов. Например, JAVA работает на стороне клиента и его можно отключить в настройках браузера. Но в случае PHP, его конфигурации могут быть изменены только на самом сервере. Для этого Вам нужно иметь к нему доступ.

Пожалуйста, обратите внимание, что это не имеет ничего общего с административной панелью сайта на Joomla и доступом к панели управления Вашего хостинга. Вам понадобится доступ к файлам, находящимся на Вашем сервере. Как правило, доступ осуществляется по FTP клиенту.

Настройки PHP конфигурации находятся в файле php.ini, который находится на веб-сервере. Точное местоположение этого файла отображается в админке Joomla: Сайт >> Информация о системе >> Информация о PHP >> Configuration File (php.ini) path.

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

Кроме того, Вы можете создать простой текстовый файл, назвать его php.ini (можно и по другому) и поместить в него следующие строки:

<?php
phpinfo();
?>

Затем загрузить этот файл на сервер и указать путь к нему. Результат лишь немного отличается от информации, показанной в админке Joomla. В обоих случаях Вы будете в состоянии исследовать определённые параметры, сделанные системным администратором в отношении PHP…

…далее возвращаемся к JoomGallery: не зависимо от того, какие настройки вы выбрали для загрузки панели конфигурации, они будут подчинены PHP и в конечном итоге повиноваться тем командам и настройкам, которые сделает системный администратор.

Прежде чем вдаваться в подробности о конкретных параметрах, связанных с загруженным файлом, ещё одно важное замечание:
Через конфигурации менеджера JoomGallery Вы можете управлять правами пользователей и так же ограничивать их в закачке файлов на сайт. Однако, превысить параметры, указанные в PHP.ini, нельзя!

Зато указать меньшие данные для загрузки файлов можно без проблем из менеджера JoomGallery.

Настройки файла php.ini, касающиеся загрузки:

file_uploads

Если этот параметр выключен (OFF), то загружать файлы будет нельзя.

upload_max_filesize
upload_max_filesize — это ограничение на загрузку одного файла. Как правило, оно указывается в мегабайтах (MB).

post_max_size
Это значение определяет размер на загрузку POST файлов. Если Вы хотите разрешить загрузку больших файлов на сайте, то этот параметр должен быть больше, чем upload_max_filesize.

memory_limit
memory_limit указывает максимальный объём памяти, который может быть использован на одну операцию. Это значение должно быть больше, чем приведенное в post_max_size. Значение -1 означает, что не существует ограничения.

Приблизительное расходование виртуальной памяти JoomGallery во время изменения размеров изображений может быть получено при помощи следующей формулы:

высота изображения в пикселях * ширина изображения в пикселях * байтовая глубина в байтах = требуемая память в байтах

Для библиотеки GD 2:

высота изображения в пикселях * ширина изображения в пикселях * (байтовая глубина в байтах +1) = требуемая память в байтах

Как видите, нагрузка памяти определяется не весом файла, а его размером и байтовой глубиной.

Три вышеназванных параметра играют важную роль. Их отношения следует рассматривать как:

memory_limit >> post_max_size > upload_max_filesize

Если upload_max_filesize был установлен 2 MB, то попытки загрузить пакет весом 4MB будут обречены на провал.

Эти три настройки не являются единственными, которые ограничивают нормальное функционирование менеджера загрузок. Другой важный параметр может Вам всё испортить, даже если upload_max_files,post_max_size and memory_limit были настроены правильно. Вот эти параметры:

max_execution_time
max_execution_time определяет максимальное время (в секундах или миллисекундах), которое может занять сценарий, чтобы выполнить определённую операцию. Если процесс занимает больше положенного времени, то сервер прекратит работу и остановит выполнение процесса. Это очень важный параметр, так как добавление больших файлов на сайт может занять много времени.

Если Ваше соединение с интернетом медленное, то Вам рекомендуется увеличить это значение.

Настройка APACHE

Параметры настройки PHP не единственные параметры настройки на сервере, которые может оказать влияние на Ваши закачки. Даже при правильном значении вышеназванных параметров, могут возникнуть непредвиденные ошибки. Они связаны с тем, что значение настроек APACHE ещё выше, чем значение настроек PHP. Получить доступ к настройкам APACHE ещё сложнее, чем к PHP.

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

Когда вы столкнетесь с проблемами, имейте в виду, что менеджер закачек JoomGallery обходит большинство запретов, которые могут быть наложены настройками файла php.ini (за исключением memory_limit).

Конечно, могут быть ещё и другие факторы, которые могут создать проблемы, так как рассматривается wwwrun, но об этом будет разговор в другой раз.

3 комментариев на “Проблема с загрузкой изображений

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *