PHP Graphics Support
| From: | Ed Lazor | Date: | Thu, 31 Jan 2002 16:01:03 +0000 |
| Subject: | PHP Graphics Support | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-82949@lists.php.net to get a copy of this message | ||
I must be doing something wrong and I'm wondering if someone here can help me figure out what it is. The goal is to add graphics support to my PHP installation. The test is a web page with the imagecreate function. Right now I receive Fatal Error: call to undefined function.
Here's technical information to help troubleshoot this:
The Image Reference page (http://www.php.net/manual/en/ref.image.php) gave instruction on how to set this up. The libraries for jpeg (libjpeg-6b-15, libjpeg-devel-6b-15), zlib (zlib-1.1.3-12, zlib-devel-1.1.3-12), and png (libpng-1.0.8-1, libpng-devel-1.0.8-1) are installed via rpm from RedHat. I downloaded and installed gd (http://www.boutell.com/gd/http/gd-1.8.4.tar.gz).
I'm using Apache 1.3.23 compiled with the following configure:
./configure \
--prefix=/opt/apache/install \
--exec-prefix=/opt/apache/install \
--enable-module=so \
--enable-module=env \
--enable-module=setenvif \
--enable-module=mime \
--enable-module=mime_magic \
--enable-module=negotiation \
--enable-module=alias \
--enable-module=rewrite \
--enable-module=userdir \
--enable-module=dir \
--enable-module=autoindex \
--enable-module=auth \
--enable-module=headers \
--enable-module=expires \
--enable-module=asis \
--enable-module=include \
--enable-module=cgi \
--enable-module=status \
--enable-module=info \
--enable-module=log_config \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=vhost_alias
I'm compiling PHP with the following configure:
./configure --with-mysql --with-apxs=/opt/apache/install/bin/apxs --with-zlib-dir=/usr/lib --with-jpeg-dir=/usr/bin --with-gd=/usr/local
Configuring, making, and installing both packages seems to go smoothly. I checked the configure logs from PHP and noticed:
checking for the location of libjpeg... yes
checking for jpeg_read_header in -ljpeg... (cached) yes
checking for the location of libpng... yes
checking for png_info_init in -lpng... (cached) yes
checking for gdImageString16 in -lgd... (cached) yes
checking for gdImagePaletteCopy in -lgd... (cached) yes
checking for gdImageCreateFromPng in -lgd... (cached) yes
checking for gdImageCreateFromGif in -lgd... (cached) no
checking for gdImageGif in -lgd... (cached) no
checking for gdImageWBMP in -lgd... (cached) yes
checking for gdImageCreateFromJpeg in -lgd... (cached) yes
checking for gdImageCreateFromXpm in -lgd... (cached) yes
checking for gdImageCreateFromGd2 in -lgd... (cached) yes
checking for gdImageCreateTrueColor in -lgd... (cached) no
checking for gdImageSetTile in -lgd... (cached) yes
checking for gdImageSetBrush in -lgd... (cached) yes
checking for gdImageStringTTF in -lgd... (cached) yes
checking for gdImageStringFT in -lgd... (cached) yes
checking for gdImageStringFTEx in -lgd... (cached) no
checking for gdImageColorClosestHWB in -lgd... (cached) yes
checking for gdImageColorResolve in -lgd... (cached) yes
checking for gdImageGifCtx in -lgd... (cached) no
It seems like everything should be working. Any ideas of why it's not?
Now for the part I think may be breaking things to see if you agree and have any ideas on how to make it work... while troubleshooting, I've ended up trying different versions of the gd lib. I didn't realize the system already had a gd library installed when I downloaded and ran the installation for the copy from Boutell.com. To rectify things... I ran rpm -e on what was already on the system and tried re-running the install (make, make install) with the downloaded copy. After that didn't work, I tried the reverse approach and reinstalled the rpms with no luck. I ran make clean, and recompiled the apps each time I changed the libraries. I also ran ldconfig each time I installed new libraries. Now that I'm uncertain about whether the libraries are working properly, I'm wondering if there's a way to install them to another directory, update /etc/ld.so.conf, run ldconfig, and tell the PHP installation to use the libraries from the new directory to insure that everything's working properly.
Sorry for such a long-winded e-mail. I just wanted to try and provide as much information as possible because I've spent a lot of time on this and have reached the point where a second person reviewing things would be very helpful.
Thanks,
-Ed