Ошибки при одновременном обращении к экшену

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Закрыто
grd16
Сообщения: 10
Зарегистрирован: 2012.11.17, 21:17

Ошибки при одновременном обращении к экшену

Сообщение grd16 »

Есть вот такой вот экшен, который ресайзит картинки (мне это нужно делать именно через php, не используя javascript):

Код: Выделить всё

    public function actionImage($id, $size)
    {
        header("Content-type: image/png");
        $thumb = new easyphpthumbnail;
        $thumb -> Thumbsize = $size;
        $thumb -> Createthumb(Yii::getPathOfAlias($this->module->elementTypeFileUploadPath).DIRECTORY_SEPARATOR.
            $this->loadModel($id)->id.DIRECTORY_SEPARATOR.
            $this->loadModel($id)->imagePath);
        return $thumb;
    } 
Есть страница, на ней отображается около 10 картинок которые при загрузке страницы понятное дело ломятся на этот экшен, при этом половина из них не отображается, получается так что некоторые запросы просто блокируются. Как можно побороть проблему?
Последний раз редактировалось grd16 2012.12.19, 19:55, всего редактировалось 1 раз.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Ошибки при одновременном обращении к экшену

Сообщение samdark »

Для начала разобраться и посмотреть логи PHP.
grd16
Сообщения: 10
Зарегистрирован: 2012.11.17, 21:17

Re: Ошибки при одновременном обращении к экшену

Сообщение grd16 »

в логах все пусто
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Ошибки при одновременном обращении к экшену

Сообщение Koduc »

Тогда смотреть через firebug во вкладке "Сеть". Неправильные запросы очевидно выкидывают ошибки, там же посмотреть тело ответа этих ошибок. Вполне вероятно, что php не хватает памяти обработать сразу такое количество изображений.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Аватара пользователя
Insolita
Сообщения: 788
Зарегистрирован: 2011.06.06, 01:39
Контактная информация:

Re: Ошибки при одновременном обращении к экшену

Сообщение Insolita »

и смотрите не только логи yii но и логи апача/nginx и т.п.
grd16
Сообщения: 10
Зарегистрирован: 2012.11.17, 21:17

Re: Ошибки при одновременном обращении к экшену

Сообщение grd16 »

Картинки отваливаются с кодом: 500 Internal Server Error
В логаг Апача тоже нет ничего особенного
Аватара пользователя
Koduc
Сообщения: 140
Зарегистрирован: 2011.02.15, 18:56

Re: Ошибки при одновременном обращении к экшену

Сообщение Koduc »

grd16 писал(а):Картинки отваливаются с кодом: 500 Internal Server Error
В логаг Апача тоже нет ничего особенного
По-моему, как раз таки в этом случае должно в логах апача быть интересное, потому что ошибку именно апач дает.
Разработка на Yii: monoray.ru
Открытое бесплатное решение для создания сайтов по аренде/продаже недвижимости: Open Real Estate
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Ошибки при одновременном обращении к экшену

Сообщение samdark »

Ну либо лог отключен в настройках апача или php.ini, что не есть хорошо.
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: Ошибки при одновременном обращении к экшену

Сообщение ElisDN »

На ресайз одной фотографии в несколько мегабайт запросто уходит 50-100 МБ оперативной памяти.
Эффективнее делать ресайз при загрузке файла и класть превьюшку рядом с оригиналом (например file123.jpg и file123_150x150.jpg). Или добавить сохранение превьюшки в файл и проверку на его существование в ваш экшен.
Disel
Сообщения: 5
Зарегистрирован: 2012.12.16, 17:59

Re: Ошибки при одновременном обращении к экшену

Сообщение Disel »

Ресайз на лету жрет очень много памяти, воспользуйтесь советом предыдущего товарища. Такие экшены не должны быть доступны извне, пару таких левых запросов и ваш сервер не долго протянет.
grd16
Сообщения: 10
Зарегистрирован: 2012.11.17, 21:17

Re: Ошибки при одновременном обращении к экшену

Сообщение grd16 »

Спасибо, так и сделаю!
Закрыто