I'll tackle the 'What is it" part.
It's a header file (hence the .h file extension). To be more concise, it is likely a C language header file, which would usually have a png.c and/or a png.o file to go along with it.
Typically these files are (in) the sourcecode of something written in C to be compiled, as you are, using GCC or another compiler.
To venture a guess, the file likely should be either inside the kernel source directories, or within the source location of the PHP installation you are compiling.
EDIT: See above
simultaneous post!