Баг Premature end of JPEG file
Баг Premature end of JPEG file
Не подгружается лента на главной странице, firefox выдает в консоле:
"NetworkError: 500 Internal Server Error - http://site.com/wall/wall/stream/type/C ... 4685117743"
PHP Error [8]
imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file
"NetworkError: 500 Internal Server Error - http://site.com/wall/wall/stream/type/C ... 4685117743"
PHP Error [8]
imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file
Re: Баг Premature end of JPEG file
Добавил в index.php
ini_set(‘gd.jpeg_ignore_warning’, 1);
Но ошибка остается.
ini_set(‘gd.jpeg_ignore_warning’, 1);
Но ошибка остается.
Re: Баг Premature end of JPEG file
log:
Код: Выделить всё
{\rtf1\ansi\deff0\nouicompat{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{*\generator Riched20 6.4.9879}\viewkind4\uc1
\pard\sa200\sl276\slmult1\f0\fs22\lang9 imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file (/home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php:280) Stack trace: #0 /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php(82): ResizeGD() #1 /home/admin/web/site.com/public_html/protected/modules_core/file/models/File.php(274): Resize() #2 /home/admin/web/site.com/public_html/protected/modules_core/file/widgets/views/showFiles.php(22): File->getPreviewImageUrl() #3 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(130): require() #4 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(95): ShowFilesWidget->renderInternal() #5 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CWidget.php(244): ShowFilesWidget->renderFile() #6 /home/admin/web/site.com/public_html/protected/modules_core/file/widgets/ShowFilesWidget.php(23): ShowFilesWidget->render() #7 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(173): ShowFilesWidget->run() #8 /home/admin/web/site.com/public_html/protected/modules_core/comment/widgets/views/showComment.php(79): ShowCommentWidget->widget() #9 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(130): require() #10 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(95): ShowCommentWidget->renderInternal() #11 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CWidget.php(244): ShowCommentWidget->renderFile() #12 /home/admin/web/site.com/public_html/protected/modules_core/comment/widgets/ShowCommentWidget.php(39): ShowCommentWidget->render() #13 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(173): ShowCommentWidget->run() #14 /home/admin/web/site.com/public_html/protected/modules_core/comment/widgets/views/comments.php(34): CommentsWidget->widget() #15 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(130): require() #16 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(95): CommentsWidget->renderInternal() #17 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CWidget.php(244): CommentsWidget->renderFile() #18 /home/admin/web/site.com/public_html/protected/modules_core/comment/widgets/CommentsWidget.php(49): CommentsWidget->render() #19 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(167): CommentsWidget->run() #20 /home/admin/web/site.com/public_html/protected/widgets/StackWidget.php(94): WallController->widget() #21 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(173): WallEntryAddonWidget->run() #22 /home/admin/web/site.com/public_html/protected/modules_core/wall/views/wallLayout.php(72): PostWidget->widget() #23 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(126): require() #24 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(95): PostWidget->renderInternal() #25 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CContentDecorator.php(76): PostWidget->renderFile() #26 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CContentDecorator.php(54): CContentDecorator->decorate() #27 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/COutputProcessor.php(44): CContentDecorator->processOutput() #28 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(206): CContentDecorator->run() #29 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(300): PostWidget->endWidget() #30 /home/admin/web/site.com/public_html/protected/modules_core/post/widgets/views/post.php(23): PostWidget->endContent() #31 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(130): require() #32 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(95): PostWidget->renderInternal() #33 /home/admin/web/site.com/public_html/protected/vendors/yii/web/widgets/CWidget.php(244): PostWidget->renderFile() #34 /home/admin/web/site.com/public_html/protected/modules_core/post/widgets/PostWidget.php(38): PostWidget->render() #35 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CBaseController.php(167): PostWidget->run() #36 /home/admin/web/site.com/public_html/protected/modules_core/post/models/Post.php(113): WallController->widget() #37 /home/admin/web/site.com/public_html/protected/modules_core/wall/StreamAction.php(256): Post->getWallOut() #38 /home/admin/web/site.com/public_html/protected/vendors/yii/web/actions/CAction.php(76): StreamAction->run() #39 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CController.php(308): StreamAction->runWithParams() #40 /home/admin/web/site.com/public_html/protected/vendors/yii/web/filters/CFilterChain.php(133): WallController->runAction() #41 /home/admin/web/site.com/public_html/protected/vendors/yii/web/filters/CFilter.php(40): CFilterChain->run() #42 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CController.php(1145): CAccessControlFilter->filter() #43 /home/admin/web/site.com/public_html/protected/vendors/yii/web/filters/CInlineFilter.php(58): WallController->filterAccessControl() #44 /home/admin/web/site.com/public_html/protected/vendors/yii/web/filters/CFilterChain.php(130): CInlineFilter->filter() #45 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CController.php(291): CFilterChain->run() #46 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CController.php(265): WallController->runActionWithFilters() #47 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CWebApplication.php(282): WallController->run() #48 /home/admin/web/site.com/public_html/protected/vendors/yii/web/CWebApplication.php(141): WebApplication->runController() #49 /home/admin/web/site.com/public_html/protected/vendors/yii/base/CApplication.php(180): WebApplication->processRequest() #50 /home/admin/web/site.com/public_html/index.php(39): WebApplication->run() REQUEST_URI=/wall/wall/stream/type/Community/guid//limit/4/from/58236/filters//sort/c?CSRF_TOKEN=fbbd878d8f4e83543hgfjhvj540bd5690&_=141654654853 \par
}
Re: Баг Premature end of JPEG file
http://www.yiiframework.com/extension/image/#c11601
Здесь такая проблема была у кого то, как ее решить? добавляю фото на сайт размером 5 или 7000px, ошибка как выше.
Здесь такая проблема была у кого то, как ее решить? добавляю фото на сайт размером 5 или 7000px, ошибка как выше.
Re: Баг Premature end of JPEG file
надоел уже этот yii, что ни день, то новый баг с ним. сколько разных движков пробовал, ни где на ровном месте не возникало подобных ошибок, а если и бывало, то после первого вопроса все решалось, здесь же баги, которые ищешь для их решение по всему инету, вроде бы они есть, на самом деле датируются столетними датами, таких файлов даже и нету уже в твоем фреймворке. 3 дня не могу решить баг с этими картинками, лучше бы сразу взял да переделал какой нибудь livestreet cms, и то понятней...
Re: Баг Premature end of JPEG file
yii это не cms, и не движок, конкрентно разработанный и обкатанный под конкретные задачи, - а фреймворк, с куда большими возможностями, но и с гораздо большими требованиями к знаниям и прямым рукамroman17 писал(а):надоел уже этот yii, что ни день, то новый баг с ним. сколько разных движков пробовал, ни где на ровном месте не возникало подобных ошибок, а если и бывало, то после первого вопроса все решалось, здесь же баги, которые ищешь для их решение по всему инету, вроде бы они есть, на самом деле датируются столетними датами, таких файлов даже и нету уже в твоем фреймворке. 3 дня не могу решить баг с этими картинками, лучше бы сразу взял да переделал какой нибудь livestreet cms, и то понятней...
У вас очевидно проблема либо с модулем gd либо с настройками хостинга,либо с конкретным расширением, ошибка выбрасывается из файла protected/modules_core/file/libs/ImageConverter.php - он не входит в ядро yii - это стороннее расширение, убедитесь что вы его корректно сонфигурировали, связывайтесь с его разработчиком, посмотрите исходники этого расширения,проверьте нормально ли у вас работают функции gd-библиотеки без расширения
Последний раз редактировалось Insolita 2014.12.12, 20:30, всего редактировалось 2 раза.
Re: Баг Premature end of JPEG file
попробовал воспроизвести эту ошибку на другом сервере, там все нормально. Получается ошибка не в скрипте, а на сервере? а что отвечает на сервере за gd converter?Insolita писал(а):yii это не cms, и не движок, конкрентно разработанный и обкатанный под конкретные задачи, - а фреймворк, с куда большими возможностями, но и с гораздо большими требованиями к знаниям и прямым рукамroman17 писал(а):надоел уже этот yii, что ни день, то новый баг с ним. сколько разных движков пробовал, ни где на ровном месте не возникало подобных ошибок, а если и бывало, то после первого вопроса все решалось, здесь же баги, которые ищешь для их решение по всему инету, вроде бы они есть, на самом деле датируются столетними датами, таких файлов даже и нету уже в твоем фреймворке. 3 дня не могу решить баг с этими картинками, лучше бы сразу взял да переделал какой нибудь livestreet cms, и то понятней...
У вас очевидно проблема либо с модулем gd либо с настройками хостинга,либо с конкретным расширением, ошибка выбрасывается из файла protected/modules_core/file/libs/ImageConverter.php - он не входит в ядро yii - это стороннее расширение, убедитесь что вы его корректно сонфигурировали, связывайтесь с его разработчиком, посмотрите исходники этого расширения,проверьте нормально ли у вас работают функции gd-библиотеки без расширения
Re: Баг Premature end of JPEG file
нет gd-конвертера, есть серверная библиотека gd и есть gd-модуль для php
прежде всего - изучите свой лог ошибок
что у вас в этом файле /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php на (280-й строке) +\- окружающий кусок
что у вас в этом файле /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php на (82-й строке) +\- окружающий кусок
что у вас за сервер, система, версия ос и php. Насколько свежая установка и есть ли возможность обновить
в консоли php -m - есть в списке gd ?
прежде всего - изучите свой лог ошибок
Код: Выделить всё
gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file file (/home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php:280)
Код: Выделить всё
Stack trace: #0 /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php(82): ResizeGD()
что у вас за сервер, система, версия ос и php. Насколько свежая установка и есть ли возможность обновить
в консоли php -m - есть в списке gd ?
Re: Баг Premature end of JPEG file
Insolita писал(а):нет gd-конвертера, есть серверная библиотека gd и есть gd-модуль для php
прежде всего - изучите свой лог ошибокчто у вас в этом файле /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php на (280-й строке) +\- окружающий кусокКод: Выделить всё
gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file file (/home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php:280)
что у вас в этом файле /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php на (82-й строке) +\- окружающий кусокКод: Выделить всё
Stack trace: #0 /home/admin/web/site.com/public_html/protected/modules_core/file/libs/ImageConverter.php(82): ResizeGD()
что у вас за сервер, система, версия ос и php. Насколько свежая установка и есть ли возможность обновить
в консоли php -m - есть в списке gd ?
Код: Выделить всё
/**
* Creates GD Image Resource by given Filename
*
* @param String $fileName
* @return resource GD Image
*/
public static function getGDImageByFile($fileName)
{
list($width, $height, $imageType) = getimagesize($fileName);
switch ($imageType) {
case IMAGETYPE_PNG:
$gdImage = imagecreatefrompng($fileName);
break;
case IMAGETYPE_GIF:
$gdImage = imagecreatefromgif($fileName);
break;
case IMAGETYPE_JPEG:
280 $gdImage = imagecreatefromjpeg($fileName);
break;
}
return $gdImage;
}
}
Код: Выделить всё
if (!isset($options['mode']))
$options['mode'] = 'force';
if (HSetting::Get('imageMagickPath', 'file')) {
self::ResizeImageMagick($sourceFile, $targetFile, $options);
} else {
82 self::ResizeGD($sourceFile, $targetFile, $options);
}
}
Re: Баг Premature end of JPEG file
сервер, debian 7 64, apache + fascgi + nginx, PHP Version 5.5.19-1~dotdeb.1
Re: Баг Premature end of JPEG file
1. протестируйте при загрузке изображений в формате png и gif - будут так же ошибки, или только с jpg проблема
2. Поставьте собачки перед imagecreatefrompng imagecreatefromgif imagecreatefromjpeg в функции из первого листинга
будет ли ругаться...
ini_set(‘gd.jpeg_ignore_warning’, 1);
Попробуйте поставить прямо вверху этого файла (до определения класса)
2. Поставьте собачки перед imagecreatefrompng imagecreatefromgif imagecreatefromjpeg в функции из первого листинга
Код: Выделить всё
switch ($imageType) {
case IMAGETYPE_PNG:
$gdImage = @imagecreatefrompng($fileName);
break;
case IMAGETYPE_GIF:
$gdImage = @imagecreatefromgif($fileName);
break;
case IMAGETYPE_JPEG:
$gdImage = @imagecreatefromjpeg($fileName);
break;
}
ini_set(‘gd.jpeg_ignore_warning’, 1);
Попробуйте поставить прямо вверху этого файла (до определения класса)
Re: Баг Premature end of JPEG file
php -m есть в списке gd, недавно обновлял PHP до 5.5, или что то еще надо обновить?
собачки поставил, ошибка не изменилась ни как, та же самая. Ошибка только лишь с фото большого разрешения, больше 4 или 5000px. Что то не дает ему конвертировать разрешение, какой то лимит где то на сервере скорее всего.
собачки поставил, ошибка не изменилась ни как, та же самая. Ошибка только лишь с фото большого разрешения, больше 4 или 5000px. Что то не дает ему конвертировать разрешение, какой то лимит где то на сервере скорее всего.
Re: Баг Premature end of JPEG file
после: ini_set(‘gd.jpeg_ignore_warning’, 1);Insolita писал(а):
ini_set(‘gd.jpeg_ignore_warning’, 1);
Попробуйте поставить прямо вверху этого файла (до определения класса)
<h1>PHP Error [8]</h1>
<p>Use of undefined constant ‘gd - assumed '‘gd'</p>
Re: Баг Premature end of JPEG file
а размер такого фото какой? не превышает каких-нибудь лимитов на загрузку, если просто загрузить большое фото на сервер (без конвертаций) - оно нормально потом отображается?roman17 писал(а):php -m есть в списке gd, недавно обновлял PHP до 5.5, или что то еще надо обновить?
собачки поставил, ошибка не изменилась ни как, та же самая. Ошибка только лишь с фото большого разрешения, больше 4 или 5000px. Что то не дает ему конвертировать разрешение, какой то лимит где то на сервере скорее всего.
Re: Баг Premature end of JPEG file
http://realtechtalk.com/PHP_Warning_ima ... 7-articles
вот тут рекомендуют прямо в php.ini этот параметр прописать
вообще по запросу https://www.google.ru/search?q=php+gd&g ... able+error
проблема явно не редкая, и из рекомендаций в основном либо установить игнорирование этой ошибки... Попробуйте поискать подробнее с какими версиями это связано, может поможет обновление...хотя в дебиан по идее все наиболее стабильное должно попадать.. А вообще - так ли необходимо разрешать к загрузке такие большие картинки?
Ну и как видите yii тут совсем ни причём
вот тут рекомендуют прямо в php.ini этот параметр прописать
вообще по запросу https://www.google.ru/search?q=php+gd&g ... able+error
проблема явно не редкая, и из рекомендаций в основном либо установить игнорирование этой ошибки... Попробуйте поискать подробнее с какими версиями это связано, может поможет обновление...хотя в дебиан по идее все наиболее стабильное должно попадать.. А вообще - так ли необходимо разрешать к загрузке такие большие картинки?
Ну и как видите yii тут совсем ни причём
Re: Баг Premature end of JPEG file
в php.ini лимит на загрузку 100mb, если бы был лимит на размер файла, было бы сообщение об этом, дело в том что файл к примеру может быть 50mb, но его разрешение 3000px, тогда все ок. А вот файл 10mb, но разрешение 7000Px, тоже загрузиться на сайт, но потом он не будет отображаться, из-за этого лента пользователя который загрузил фото такого разрешение, будет не доступна, крутиться кружочек подгрузки страницы, и все, а в консоле firefox конечно при этом будет ошибка network error, и.т.д.Insolita писал(а):а размер такого фото какой? не превышает каких-нибудь лимитов на загрузку, если просто загрузить большое фото на сервер (без конвертаций) - оно нормально потом отображается?roman17 писал(а):php -m есть в списке gd, недавно обновлял PHP до 5.5, или что то еще надо обновить?
собачки поставил, ошибка не изменилась ни как, та же самая. Ошибка только лишь с фото большого разрешения, больше 4 или 5000px. Что то не дает ему конвертировать разрешение, какой то лимит где то на сервере скорее всего.
Может перейти на centos, что то с debian часто проблемы серверного происхождения, или может ошибаюсь.
А в php.ini в какой класс прописать код? gd.jpeg_ignore_warning = 1
Re: Баг Premature end of JPEG file
;gd.jpeg_ignore_warning = 0 есть в php.ini, попробую раскомментировать.
Re: Баг Premature end of JPEG file
и это не помогло, придется перейти на centos, вообще настроить заново сервер.
Re: Баг Premature end of JPEG file
угу и 1 вместо 0roman17 писал(а):;gd.jpeg_ignore_warning = 0 есть в php.ini, попробую раскомментировать.
лучше на сервер ту систему с которой вы лучше знакомы и умеете готовитьМожет перейти на centos, что то с debian часто проблемы серверного происхождения, или может ошибаюсь.
Re: Баг Premature end of JPEG file
спасибо вам конечно, проблема решена, и она оказалось во всех готовых сборках шаблонах для серверной панели vestacp. Выбрал phpcgi вместо fastcgi, все заработало. Вот так вот несколько дней искал баг, а он оказался в этой vesta.