No PNG support in PHP GD Library but has GIF and JPEG Support. How can I fix this?

Ankush Dharkar picture Ankush Dharkar · Aug 4, 2014 · Viewed 12.5k times · Source

I am running MAMP server Version 3.0.5 on OS X Yosemite. It seems to be missing PNG Support on my php files during execution Even before when I had MAMP 2.1, it had fatal errors on png related functions.

The Jpeg functions work fine though.

This is what my phpinfo looks like :

Build Date  Apr 10 2014 17:21:18
Configure Command   './configure' '--with-mysql=/Applications/MAMP/Library' '--with-apxs2=/Applications/MAMP/Library/bin/apxs' '--with-gd' '--with-jpeg-dir=/Applications/MAMP/Library' '--with-png-dir=/Applications/MAMP/Library' '--with-zlib' '--with-zlib-dir=/Applications/MAMP/Library' '--with-freetype-dir=/Applications/MAMP/Library' '--prefix=/Applications/MAMP/bin/php/php5.5.10' '--exec-prefix=/Applications/MAMP/bin/php/php5.5.10' '--sysconfdir=/Applications/MAMP/bin/php/php5.5.10/conf' '--with-config-file-path=/Applications/MAMP/bin/php/php5.5.10/conf' '--enable-ftp' '--enable-gd-native-ttf' '--with-bz2=/usr' '--with-ldap' '--with-mysqli=/Applications/MAMP/Library/bin/mysql_config' '--with-t1lib=/Applications/MAMP/Library' '--enable-mbstring=all' '--with-curl=/Applications/MAMP/Library' '--enable-sockets' '--enable-bcmath' '--with-imap=shared,/Applications/MAMP/Library/lib/imap-2007f' '--enable-soap' '--with-kerberos' '--enable-calendar' '--with-pgsql=shared,/Applications/MAMP/Library/pg' '--enable-exif' '--with-libxml-dir=/Applications/MAMP/Library' '--with-gettext=shared,/Applications/MAMP/Library' '--with-xsl=/Applications/MAMP/Library' '--with-pdo-mysql=shared,/Applications/MAMP/Library' '--with-pdo-pgsql=shared,/Applications/MAMP/Library/pg' '--with-mcrypt=shared,/Applications/MAMP/Library' '--with-openssl' '--enable-zip' '--with-iconv=/Applications/MAMP/Library' '--enable-opcache' '--enable-intl' '--with-tidy=shared' '--with-icu-dir=/Applications/MAMP/Library'

phpinfo

And this is what the GD section contains :

GD Support  enabled
GD Version  bundled (2.1.0 compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.4.12
T1Lib Support   enabled
GIF Read Support    enabled
GIF Create Support  enabled
JPEG Support    enabled
libJPEG Version 8
PNG Support enabled
libPNG Version  1.6.6
WBMP Support    enabled
XBM Support enabled

gd info

To test the png execution and gd library existing for the code, I run the following code :

if (extension_loaded('gd')) {
  echo "\nGD support is -Loaded-";
}else{
  echo "\nGD support is == NOT == loaded ";
}
if(function_exists('gd_info')){
  echo "\nGD function support is -Available- ";
}else{
  echo "\nGD function support is == NOT == available ";
}

if(function_exists('imagepng')){
  echo "\nimagepng() -Exists-";
}else{
  echo "\nimagepng() ==== DOES NOT ==== Exist";
}


if(function_exists('imagejpeg')){
  echo "\nimagejpeg() -Exists-";
}else{
  echo "\nImage Function ==== DOES NOT ==== Exists";
}

And this is the result I get :

result of the code execution

One thing I do notice is that the libPNG Version in GD is '1.6.6', whereas the one on my computer is '1.6.12'. Is it a possibility that it causes a problem with the PNG functions?

trying to install libpng

Answer

Jpsy picture Jpsy · Oct 22, 2014

This is an answer for those who come here with the same symptom (PHP under Yosemite with GD Lib active but missing PNG support) but who are using the Apache and PHP that comes with OS X (instead of MAMP).

In this case the reason for the problem is that Yosemite's PHP comes without PNG and FreeType support compiled in.

The solution in this situation is described here: https://stackoverflow.com/a/26505558/430742