Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PHP Fatal error: imagecreatefromjpeg() #150
PHP Fatal error: imagecreatefromjpeg() #150
Comments
PHP Fatal error: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: Not a JPEG file: starts with 0x89 0x50 in /home/admin/web/сайт/public_html/engine/modules/base/core/resize.php on line 43
При этом страница сайта не загружается вообще
The text was updated successfully, but these errors were encountered:
Здравствуйте!
Дело в том что я проверял, картинка точно есть.
Как можно пропускать эту ошибку? А то попадаются страницы пустые, что не есть хорошо.
Даже пробовал редактировать функцию. Но у меня не вышло ничего.
Так же пробовал пропускать openImage() что бы использовалась функция openImageWithCurl() При этом выводится картинка залитая черным, просто черный квадрат.
Как можно сделать что бы если ошибка возникает, выводилась оригинальная картинка из статьи?
Возможно эта картинка имеет неправильное расширение. Например png, переименована в jpg. Каким образом картинка была загружена на сайт? вт, 21 мая 2019 г., 0:36 ssmirenkov
Здравствуйте! Дело в том что я проверял, картинка точно есть. Как можно пропускать эту ошибку? А то попадаются страницы пустые, что не есть хорошо. — You are receiving this because you commented. Reply to this email directly, view it on GitHub , or mute the thread .
Через стандартную загрузку DLE
@ssmirenkov Есть вариант, что у вас сервер не осиляет провернуть картинки, чёрный квадрат — первый признак этого.
- Добавить/почистить место на диске.
- Увеличить количество памяти, выделяемое для работы php.
php_value post_max_size 16M php_value upload_max_filesize 6M
php_value post_max_size 50M php_value upload_max_filesize 8M
А вот с 4. я не очень силен в php.
Процессор | Intel® Core™ i7-920
RAM | 48 Гб DDR3
Дисковая подсистема | 2 x 2 Тб
Не уверен что он не справляется. 🙂
- строку подключения модуля.
- страницу, где можно посмотреть ошибку.
- Версию DLE
- Версию PHP
/dleimages/no_image_rel.jpg
С версией DLE сложновато, она перепилена переделана, по моему на основе 10.2, но основные функции я не трогал.
Сейчас очень много картинок со сторонних ресурсов, но проблемы возникают именно с картинками которые загружаются на сайт через движек.
Попробуйте заменить crop на другой способ ресайза.
Попробовал все типы из документации
exact, portrait, landscape, auto, crop
Результат одинаковый
Что самое интересное, пробовал подключать тестово kraken.io и tinypng.com, все норм.
@ssmirenkov а на каких новостях вызывается ошибка?
имею ввиду id новостей, которые выводятся через модуль с ошибкой.
Честно говоря, на первый взгляд нет какой либо последовательности.
Вчера читая в интернете разные статьи по этой ошибке, решил провести эксперимент.
43 строку изменил на вот это
Было
return $func($file);
Стало
return imagecreatefromstring(file_get_contents($file));
Пока полет нормальный, те страницы которые не открывались, выдавая ошибку, сейчас открываются причем без черного квадрата. Не знаю конечно правильное ли это решение, но работает как мне нужно.
Вот список всех страниц из Я.ВМ со статусом «Документ не содержит текст»
/163035-129-zabavnykh-sposobov-zapoluchit-muzha-soglasno.html
/163821-KHitrye-trjuki-zastavivshie-neudobnuju-kvartiru.html
/172443-CHto-takoe-kharizma-i-komu-ona-svojjstvenna.html
/16346-aziaty-ne-podelili-polosu.html
/63840-feerichnyy-uchitel-na-bmw-x5.html
/133775-Vensan-Niklo.html
/19096-vydavi-glazki-martyshke-neposede.html
/35533-samoe-bolshoe-kruiznoe-sudno-na-planete-gotovo-vyyti-v-pervyy-reys.html
/172584-Produkty-kotorye-ne-nuzhno-gret-v-mikrovolnovojj.html
/14116-avtostoper-s-pistoletom-iz-donecka.html
/38490-poklonniki-igry-pokemon-go-sluchayno-spasli-zhivotnyh.html
/40807-kak-proshel-festival-goryaschiy-chelovek-2016-v-nevade.html
/45854-otkrovennye-naryady-zvezd.html
/62761-recenziya-na-film-zvuk.html
/172378-Tajjnaja-komnata-v%C2%A0ruinakh-dvorca-Nerona-svezhee.html
/34610-sekrety-vybora-igrovyh-slotov.html
/59773-v-pustyne-blek-rok-startoval-festival-burning-man-2017.html
/80586-strizhka-ognem-kak-delaetsya-eta-procedura-preimuschestva-i-nedostatki-piroforeza-primernaya-stoimost.html
/42474-ember-ouz-v-originalnom-naryade.html
/86585-prevjusezonanbagodazapadnaja.html
/47264-poydet-li-vam-korotkaya-strizhka.html
/69255-ocenka-simvoliki-videoslotov.html
/73253-bmw-poluchila-dostoynyy-otvet-na-shutku-nad-audi.html
/125991-Kehjjt-Bekinsehjjl-v-LA.html
/40845-7-smartfonov-u-kotoryh-bolshaya-batareya.html
/38000-nou-hau-ot-yaponskih-inzhenerov-kostyum-dlya-virtualnogo-seksa.html
/42884-evolyuciya-igrovyh-slotov-ot-klassiki-k-modernu.html
/26472-banner-s-sosiskoy-s-obratnoy-storony-smotritsya-ne-tak-appetitno.html
/167465-Zabavnye-sudebnye-iski.html
/170149-Novyjj-implantat-transformiruet-mysli-v-rech.html
/170077-Krymskaja-pech-Sojjera.html
/78472-recenziya-na-film-mest.html
/118425-kak-sdelat-komnatu-ujutnojj-svoimi-rukami-i-bez.html
/177709-Opros-vo-Francii-Le-Pen-vyryvaetsja-vpered.html
/177943-Strashennyjj-Kuklovod-kto-derzhit-v-svoikh-rukakh.html
/67968-samye-ozhidaemye-filmy-2018-goda.html
/168911-v-dagestanskom-sele-grjazevojj-sel-snosil-vsjo-na.html
/33065-krym-na-fotografiyah-raznyh-let.html
/81891-ayshvariya-ray-v-raznyh-platyah.html
/169543-Do-kakogo-vozrasta-zhenshhine-nuzhny-muzhchiny.html
/41008-yahta-rossiyskogo-oligarha-andreya-melnichenko-vpechatlila-zhiteley-londona.html
/101709-kvadrokoptery-s-kameroy-za-50.html
/150458-Evropa-opravdyvaetsja-za-prichastnost-k-strashnomu.html
/168275-Otkaz-ot-zavtraka-mozhet-uvelichit-risk-smerti-ot.html
/78935-chelovek-i-parohod.html
/49592-strannye-i-neobychnye-vodnye-transportnye-sredstva.html
/64417-muzhchiny-uchites-konkurs-na-luchshuyu-komnatu-holostyaka-vzorval-britaniyu.html
/166856-20-ubojjnykh-bumazhnykh-objavlenijj-tekst-kotorykh.html
/167797-15-snimkov-severoamerikanskikh-kakomicli.html
/64019-volosatye-mladency-eto-prosto-chudo.html
/167831-Tonkijj-jumor-kotoryjj-po-nastojashhemu-ocenjat-lish.html
/45583-na-vstrechu-priklyucheniyam.html
/75313-recenziya-na-film-otpusk.html
/84195-leyton-mister-v-obektive-kurta-isvarinko.html
/167618-zapravit-avtomobil-ehto-neprostaja-zadacha.html
/49093-neogranichennye-funkcionalnye-vozmozhnosti-sovremennyh-slotov.html
/175051-Stroilis-li-v-SSSR-passazhirskie-suda.html
/167143-Gromkoe-objavlenie-o-prodazhe-kvartiry.html
/167255-Beznosye-znamenitosti-17-foto.html
/175133-Kak-vy-dumaete-chto-skazala-vasha-zhena-esli-by-vy.html
/87483-maloizvestnyevozmozhnostimikrovolnovki.html
/37130-bonusy-v-sovremennyh-slotah.html
/23376-avtomobil-ne-smog-proehat-cherez-holmy.html
/49582-novaya-super-yahta-rossiyskogo-oligarha-otdelannaya-iznutri-kozhey-akul-i-krokodilov.html
/174875-Apelsinovyjj-kvas.html
/174505-Skolko-vozdukha-v-plotno-zakrytojj-komnate.html
/26541-zabavnoe-zayavlenie.html
/71798-recenziya-na-film-otkrytyy-dom.html
/165920-Strannye-veshhi-kotorye-okazalis-na-bortu.html
/39572-neozhidannyy-sozhitel.html
/43388-avtomobil-kotoryy-igraet-legkiy-dzhaz.html
/71048-recenziya-na-film-spasibo-za-vashu-sluzhbu.html
/94285-poymal-schuku-v-ruku.html
/165399-Mat-otkazyvaetsja-prikryt-pered-muzhem.html
/83298-kak-zavoevat-strelca-muzhskogo-pola-s-kakimi-znakami-zodiaka-on-sovmestim.html
/65034-recenziya-na-film-nochlezhka.html
/70895-recenziya-na-film-takoy-zhe-drugoy-kak-i-ya.html
/31289-genealnye-gadzhety-dlya-vannoy-komnaty.html
/165279—quot;Luchshe-popa-zovite-quot;-vrach-v.html
/133598-Myshinaja-derevnja-britanskogo-fotografa-Sajjmona.html
/164103-Otkryty-i-protestirovany-antitela-tormozjashhie.html
/164556-2-mini-seriala-na-majjskie-prazdniki.html
/173383-Neskolko-faktov-o-kompanii-group-ib.html
/39529-dirizhabl-airlander-vpervye-vyshel-iz-angara.html
/66976-prodazha-platya-na-sayte-obyavleniy.html
/164890-%EF%BB%BFMy-zhili-vmeste-i-vmeste-my-umrem.html
/165088-10-lajjfkhakov-pri-pomoshhi-mikrovolnovki-kotorye.html
/164528-samoe-obsuzhdaemoe-video-v-interneta-za-poslednie.html
/63021-recenziya-na-film-mardzhori-praym.html
На каких конкретно новостях выводится ошибка я так и не смог понять.
Да, действительно не видно системности.
Попробуйте заменить
$func = '@imagecreatefrom' . substr($this->extension, 1);
Только почистить нужно папку с картинками, которые нагенерил модуль, либо немного изменить uploadPath что бы проверить будут ли ресайзиться картинки.
Работает, но возвращает просто пустую черную картинку.
А вот в моем варианте
private function openImage($file) $extension = strtolower(strrchr($file, ‘.’));
$this->extension = $extension == ‘.jpg’ ? ‘.jpeg’ : $extension;
$func = ‘imagecreatefrom’ . substr($this->extension, 1);
if (!function_exists($func)) return false;
>
return imagecreatefromstring(file_get_contents($file));
>
Возвращает все правильно, картинка ресайзится нормально.
Из-за чего может возникать ошибка?
Warning: Cannot modify header information — headers already sent by (output started at /var/www/u0294446/public_html/development/inquiry_photo.php:22) in /var/www/u0294446/public_html/development/inquiry_photo.php on line 35
При чем возникает она иногда, когда я обрезаю разные фото
Warning: imagecreatefromjpeg(): gd-jpeg: JPEG library reports unrecoverable error: in /var/www/u0294446/public_html/development/inquiry_photo.php on line 22
Warning: imagecreatefromjpeg(): ’78.jpeg’ is not a valid JPEG file in /var/www/u0294446/public_html/development/inquiry_photo.php on line 22
Это говорит нам о том, что вместо валидного битмапа, упакованного в формате JPEG, нам в либу на вход поступила какая-то шляпа. Разбираемся дальше:
Warning: imagecopy() expects parameter 2 to be resource, boolean given in /var/www/u0294446/public_html/development/inquiry_photo.php on line 34
Эврика! А вот и корень наших бед, в скрипте inquiry_photo.php, в строчке 34, где идёт вызов метода imagecopy(), ему на вход во втором аргументе пришла булева переменная вместо ссылки на буфер изображения GD. Вот там и проверяйте в чем может быть дело. Смотрите откуда у вас приходят эти данные и почему там bool, возможно не хватает какой-то банальной проверки на формат, когда скрипт попытался пихнуть в jpeg битмап, упакованный как gif или png.