写的php程序里面用到imagecreate函数
结果 PHP Fatal error:  Call to undefined function imagecreate() in /var/www/html/code.php on line 16” 可能是GD库出问题查看GD库安装信息如下:
[email protected]:~ rpm -qa |grep freetype 
freetype-devel-2.2.1-21.el5_3
freetype-2.2.1-21.el5_3
freetype-devel-2.2.1-21.el5_3
freetype-2.2.1-21.el5_3
[email protected]:~ rpm -qa |grep png 
libpng-1.2.10-7.1.el5_3.2
libpng-devel-1.2.10-7.1.el5_3.2
libpng-1.2.10-7.1.el5_3.2
libpng-devel-1.2.10-7.1.el5_3.2
[email protected]:~ rpm -qa |grep jpeg
libjpeg-6b-37
libjpeg-devel-6b-37
libjpeg-6b-37
libjpeg-devel-6b-37
[email protected]:~ rpm -qa |grep zlib
zlib-devel-1.2.3-3
zlib-1.2.3-3
zlib-1.2.3-3
zlib-devel-1.2.3-3
[email protected]:~ rpm -qa |grep gd 
gd-2.0.33-9.4.el5_4.2
gd-devel-2.0.33-9.4.el5_4.2
gdbm-1.8.0-26.2.1
gdbm-devel-1.8.0-26.2.1
gd-2.0.33-9.4.el5_4.2
sysklogd-1.4.1-46.el5
gdb-7.0.1-23.el5
gdk-pixbuf-0.22.0-25.el5
aspell-gd-0.50-4.2.2
gdbm-devel-1.8.0-26.2.1
gd-devel-2.0.33-9.4.el5_4.2
gdbm-1.8.0-26.2.1
gdm-2.16.0-56.el5
[email protected]:/var/www/html locate libgd.so
/usr/lib/libgd.so
/usr/lib/libgd.so.2
/usr/lib/libgd.so.2.0.0
/usr/lib64/libgd.so
/usr/lib64/libgd.so.2
/usr/lib64/libgd.so.2.0.0
/usr/local/lib/libgd.so
/usr/local/lib/libgd.so.2
/usr/local/lib/libgd.so.2.0.0在php.ini中,搜到[gd]后,在下面加一行
extension=/usr/local/lib/libgd.so
重启阿帕奇运行程序得到结果是:
“PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules//usr/local/lib/libgd.so' - /usr/lib64/php/modules//usr/local/lib/libgd.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Fatal error:  Call to undefined function imagecreate() in /var/www/html/code.php on line 16”怎么解决呢

解决方案 »

  1.   

    在php.ini中,搜到[gd]后,在下面加一行
    extension=/usr/local/lib/libgd.so
    明显不对啊,php.ini中要引用的是php的gd,是需要编译的phpize。
    而且错误信息也说了,你的路径有问题,
    '/usr/lib64/php/modules//usr/local/lib/libgd.so
    你确定有这个路径文件。
      

  2.   


    libgd.so 这个文件在/usr/local/lib/libgd.so 这里
    我如果写出extension=/usr/local/lib/libgd.so 错误信息就如上所示
    我如果 写成 extension=libgd.so 错误信息就是“PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/libgd.so' - /usr/lib64/php/modules//usr/local/lib/libgd.so: cannot open shared object file: No such file or directory in Unknown on line 0就是无法load /usr/local/lib/里面的libgd.so 
      

  3.   

    /usr/local/lib/libgd.so 这个位置是有libgd.so这个文件的
    但是在php.ini 加了之后就显示成/usr/lib64/php/modules//usr/local/lib/libgd.so 这样了因为系统前面php是别人安装的,已经有libgd.so文件还要再编译吗?