我的FEDORA8更新安装PHP的GD库出错的过程,帮我诊断下!(已经解决,可供参考)

我的FEDORA8更新安装PHP的GD库出错的过程,帮我诊断下!(已经解决,可供参考)

我装好了FC8后,发现里面的PHP,MYSQL,APACHE,FTP等服务都已经弄好了。只需要用就是了。后来我发现里面没有GD库,我将PHPINFO中显示的信息截了个图,如下:



我参看了网上很多的资料,发现FC8自带的PHP环境中没有GD库,但是我要使用PHP的图形相关的内容,需要GD库。我也没在任何资料上发现有更新GD库的方法。
于是我想到了只有更新安装下PHP,也就用TAR方式重新编译下,在网上有朋友说,将现在PHPINFO中的信息采用./configure  参数方式进行编译后安装。
在安装之前,我们 先查看了各个需要装的包是否齐备。
用 :rpm -qa|grep  查看。
比如:
rpm -qa|grep jpge
复制内容到剪贴板
代码:
[root@localhost codeimg]# rpm -qa|grep jpeg
libjpeg-devel-6b-39.fc8
libjpeg-6b-39.fc8
这个显示的结果,应该有JPEG包的啥。
GD库也是这样的
复制内容到剪贴板
代码:
[root@localhost codeimg]# rpm -qa|grep gd
gdbm-devel-1.8.0-27.fc7
gdbm-1.8.0-27.fc7
gd-devel-2.0.35-1.fc8
gdb-6.6-35.fc8
gdm-2.20.1-5.fc8
gd-2.0.35-1.fc8
jigdo-0.7.3-4.fc8
fedorainfinity-gdm-theme-8.0.1-1.fc8
libgdiplus-1.2.5-1.fc8
PNG也是一样的
复制内容到剪贴板
代码:
[root@localhost codeimg]# rpm -qa|grep libpng
libpng-devel-1.2.22-1.fc8
libpng-1.2.22-1.fc8
LIBXML也是有的
复制内容到剪贴板
代码:
[root@localhost ~]# rpm -qa|grep libxml
libxml2-python-2.6.30-1
libxml2-2.6.30-1
libxml2-devel-2.6.30-1
经过这些检查,发现是可以直接进行编译安装的。于是TAR,
然后把上面 PHPINFO上的./configure 所有 的东西 复制了,处理了下 (把‘去掉,把该改的地方改了,比如把GD部分弄成--with gd)开始进行编译安装。
结果却出错,发现是LIBXML找不到一个文件,我觉得是不是没装 好
我想重新编译下LIBXML再说,于是我下了个libxml2-2.6.19.tar.gz
解压后进行编译安装,
# ./configure
# make
$ make install
我再用RPM看下版本,结果发现LIBXML还比我安装的高。
下面显示的 是这样的。
复制内容到剪贴板
代码:
[root@localhost libxml2-2.6.19]# rpm -qa|grep libxml
libxml2-python-2.6.30-1
libxml2-2.6.30-1
libxml2-devel-2.6.30-1
那肯定不是没装好了,估计是路径的问题。估计CONFIGUE时没找到正确的路径。我又查了资料。在后面加个 -dir 可以自动找到路径。所以我加了下。
再进行编译。还是出错了 。最后,我 干脆把这个选项给删掉了。再进行编译。在LIBPNG这个地方 又出错。我发现是找不到路径,结果把后面的指定的路径全部改成了-dir 而不指定路径,让系统自动选找。
这下可以./configure成功了。
接下来进行 make
这步也顺利地完成了。没出错
再接下来就make test
做了三千多个。才弄完。然后就
make install 结果不到10秒就OK。只跑了几行。就完成了。
然后我再进行了PHPINFO 。发现还是和前面一样的。
真的没办法了。哎!!!!
请老鸟帮忙的阿 。



==========================================================================
============================================================================
=============================解决方法-------------------------------------------------------

就是如  下面管理员 前辈所讲的。(我这里只是总结下,并将我犯的错误讲出来,希望对一些遇到这个问题的人有帮助)


就如管理员说的一样在命令终端使用  # yum install php-gd     后安装后可以解决这个问题,至于安装的过程需要按及格Y,好像是下载什么东西。这个就不知道了(菜鸟呵呵)

完成后,重新启动下HTTPD服务,就可以了,在PHPINFO中也可以看到GD的插件信息了。真好。

但是我第一次YUM时候却没弄好。结果我发现我昨天想的是用升级的方式装下PHP版本,将版本升级到PHP5-2-5版本。昨天升级MAKE INSTALL了下。结果我打开看PHP.INI发现里面尽然有同WINDOWS下的扩展DLL的情况。如同下面的代码一样。我感到纳闷??为什么PHP5的TAR。GZ版本中用编译安装尽然有这个东西???我想是不是我下到不是LINUX的版本。
复制内容到剪贴板
代码:
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_domxml.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_hyperwave.dll
出错过后,我想可能是昨天晚上测试安装升级PHP的问题,于是将系统重新做过了下。再次使用

yum -install php-gd

安装后,测试,就可以了!!!

不认为fedore 8 默认的php 会不支持GD,看看你的php-gd 包装了没。

你编译的参数到底怎样也没看见,不确定你是否启动了你编译的php。
rpm -qa|grep php
yum install php-gd

系统会自动安装php-gd-5.2.4-3.i386.rpm
谢谢!!!!太感谢了

但是我现在YUM了下,倒是提示正确了,但是我的PHPINFO中却没GD的选项!!!


不知道为什么的啊,

然后我用我写的图片认证的代码拿上去,结果失败了。还是不行的!!!

估计是不是我那里出错了???

我把代码贴了出来。老大帮我按看嘛!
复制内容到剪贴板
代码:
[root@localhost ~]# rpm -qa|grep php
php-pdo-5.2.4-3
php-mysql-5.2.4-3
php-common-5.2.4-3
php-5.2.4-3
php-cli-5.2.4-3
php-ldap-5.2.4-3
[root@localhost ~]# yum install php-gd
[url]http://spreader.yandex.net/fedora/linux/updates/8/i386/repodata/repomd.xml:[/url] [Errno 4] IOError: <urlopen error (104, 'Connection reset by peer')>
Trying other mirror.
updates                   100% |=========================| 2.3 kB    00:00     
fedora                    100% |=========================| 2.1 kB    00:00     
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package php-gd.i386 0:5.2.4-3 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
php-gd                  i386       5.2.4-3          fedora            111 k

Transaction Summary
=============================================================================
Install      1 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         

Total download size: 111 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): php-gd-5.2.4-3.i38 100% |=========================| 111 kB    00:02     
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
Importing GPG key 0x4F2A6FD2 "Fedora Project <[email]fedora@redhat.com[/email]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
Is this ok [y/N]: y
Importing GPG key 0xDB42A60E "Red Hat, Inc <[email]security@redhat.com[/email]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: php-gd                       ######################### [1/1]

Installed: php-gd.i386 0:5.2.4-3
Complete!
[root@localhost ~]# service httpd restart
停止 httpd:[确定]
启动 httpd:[确定]
我做了后,然后将服务器重新启动了下。

[ 本帖最后由 byqy 于 2007-11-24 15:39 编辑 ]
你的截图中,configure command就是php编译时的参数,看里面有一项--without-gd就是不安装gd库,所以会造成你装完后没有gd,至于为什么fedora8会在编译php的时候加上这个实在不解,我的ampp是自己编译安装的,装系统的时候没把php,mysql,apache选上。不过我试验过yum -y install httpd php mysql mysql-server php-mysql,完毕后除了mysql有问题,其他模块一切正常,php的各个模块也都安装的很好。