PHP Warning: imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file

I was having an issue with only certain random/jpeg files with the functions imagecreatefromjpeg imagecreatetruecolor and other related ones.

This issue was annoying basically it seems like a libgd issue/bug with newer versions of PHP and it was difficult to trace-out.  One very useful thing that helped me was using "php-cgi" and passing the query string as an argument eg:

php-cgi images.php source=IMG.jpg (that way you get all the error messages which lead me to below):

PHP Warning:  imagecreatefromjpeg(): gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file

The solution is to tweak the PHP GD settings to ignore this warning

/etc/php.ini

[gd]
; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices
; disabled by default
; http://www.php.net/manual/en/image.configuration.php#ini.image.jpeg-ignore-warning
gd.jpeg_ignore_warning = 1

 


Tags:

php, imagecreatefromjpeg, gd, jpeg, libjpeg, recoverable, premature, filei, functions, imagecreatetruecolor, libgd, newer, versions, quot, cgi, query, eg, images, img, jpg, tweak, settings, etc, ini, decode, warnings, displayed, notices, disabled, default, http, www, manual, en, configuration, jpeg_ignore_warning,

Latest Articles

  • Apache PHP sending expires header solution cannot use cache with CDN
  • How to install virt-manager in Mint 22/Ubuntu 22
  • Infiniband Guide
  • python mysql install error: /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found mysql_config --version
  • FreePBX 17 How To Add a Trunk
  • Docker Container Onboot Policy - How to make sure a container is always running
  • FreePBX 17 How To Add Phones / Extensions and Register
  • Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes. solution
  • Cisco How To Use a Third Party SIP Phone (eg. Avaya, 3CX)
  • Cisco Unified Communication Manager (CUCM) - How To Add Phones
  • pptp / pptpd not working in DD-WRT iptables / router
  • systemd-journald high memory usage solution
  • How to Install FreePBX 17 in Linux Debian Ubuntu Mint Guide
  • How To Install Cisco's CUCM (Cisco Unified Communication Manager) 12 Guide
  • Linux Ubuntu Redhat How To Extract Images from PDF
  • Linux and Windows Dual Boot Issue NIC Won't work After Booting Windows
  • Cisco CME How To Enable ACD hunt groups
  • How to install gns3 on Linux Ubuntu Mint
  • How to convert audio for Asterisk .wav format
  • Using Cisco CME Router with Asterisk as a dial-peer