LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2247|回复: 12

请教:关于PHP下的 GD 安装

[复制链接]
发表于 2003-10-26 15:39:56 | 显示全部楼层 |阅读模式
我现在已经可以这样了(用phpinfo()函数看到的)
gd
GD Support  enabled  
GD Version  bundled (2.0.12 compatible)  
GIF Read Support  enabled  
JPG Support  enabled  
PNG Support  enabled  
WBMP Support  enabled  
XBM Support  enabled  

我希望能这样:
gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with TTF library
T1Lib Support enabled
GIF Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

不知道该怎么做??我自己摸索了半天,也没搞出结果来。
我用的rpm包安装,装了很多freetype的版本,但是一点效果也没有,不知道该怎么做,是不是安装了相应的包后还要改什么设置???
发表于 2003-10-26 15:51:44 | 显示全部楼层
什么意思。你这个已经支持gd了啊?
想技术ttf字体话。加编译选项即可啊。
 楼主| 发表于 2003-10-26 16:11:41 | 显示全部楼层

谢谢回复,其实我也是刚刚学,不是太懂

我想用gif输出图形汉字,但是我的那个配置还不行,
后来在网上看到了一篇《php下的gd安装全攻略》,上面提到,如果要用gif输出图形界面,需要
gd
GD Support enabled
GD Version 1.6.2 or higher
FreeType Support enabled
FreeType Linkage with TTF library
T1Lib Support enabled
GIF Support enabled
JPG Support enabled
PNG Support enabled
WBMP Support enabled

但是我的现在还不支持:
FreeType Support enabled
FreeType Linkage with TTF library
T1Lib Support enabled

我不知道该怎么办?

你说加编译选项,该怎么加?让我试试,谢谢。。
 楼主| 发表于 2003-10-26 16:28:07 | 显示全部楼层

其实,我就是想让下面的 php 脚本显示正常

以下这段代码是在浏览器上显示一个gif图片:“协议分布”四个字。。
-----------------------------
<?php
//定义输出为图像类型
header("content-type:image/gif");
//新建图象
$pic=imagecreate(400,30);
//定义黑白颜色
$black=imagecolorallocate($pic,0,0,0);
$white=imagecolorallocate($pic,255,255,255);
//定义字体
//$font="d://WINNT//fonts//comic.ttf";
$font="d://WINNT//fonts//simhei.ttf";
//$font="d://WINNT//fonts//simfang.ttf";
//$font="d://WINNT//fonts//simsun.ttf";
//定义输出字体串
//$str = chr(0xE8).chr(0xB5).chr(0x9B).chr(0xE8).chr(0xBF).chr(0xAA).chr(0xE7).chr(0xBD).chr(0x91)." www.ccidnet.com";
$str="锘垮??璁垎甯?;
//写 TTF 文字到图中
imagettftext($pic,20,0,10,20,$white,$font,$str);
//建立 GIF 图型

//ImageGIF($pic);
ImagePNG($pic);
//结束图形,释放内存空间
imagedestroy($pic);
?>
-----------------------------

这个在windows下的Apache + php显示正常,现在到了linux下,就不好配了。
发表于 2003-10-26 16:59:17 | 显示全部楼层
http://www.linuxsir.cn/forum.php?mod=viewthread&tid=38089

我参考了这篇文章,编译GD以后有TRUETYPE
发表于 2003-10-26 17:44:43 | 显示全部楼层
http://dato.minidns.net/info.asp
cclib你./configure时加入吧
导出configure 参数
./configure > /root/configure
慢慢看
 楼主| 发表于 2003-10-27 11:20:50 | 显示全部楼层

请大家耐心一下

我用的是rpm包安装的apache和php,所以,各位使用的方法可能和我的有区别,但是我觉得无论哪种安装方法,都应该结果是一样的。因为无论你是./configure, make 还是rpm -ivh/-Uvh,都是要生成.conf和.ini文件的。因为最后,apache启动的时候,都会读取httpd.conf和php.ini文件,所以,我想,我大概只要安装一些库,同时修改php.ini就可以了。或许按照你们的方法(我发问前就看过了),能够成功,但是我觉得不值得,或者没有意义,因为这样的话,我还是没有搞清楚问题的本质。。请有研究精神的大老们和我一起解决这个问题。。3X.
 楼主| 发表于 2003-10-27 11:22:28 | 显示全部楼层
To : dato

我不是太明白你的意思, 能否说的详细点??你的思路是什么??
发表于 2003-10-27 16:17:30 | 显示全部楼层

回复: 请大家耐心一下

最初由 wohao2000 发表
我用的是rpm包安装的apache和php,所以,各位使用的方法可能和我的有区别,但是我觉得无论哪种安装方法,都应该结果是一样的。因为无论你是./configure, make 还是rpm -ivh/-Uvh,都是要生成.conf和.ini文件的。因为最后,apache启动的时候,都会读取httpd.conf和php.ini文件,所以,我想,我大概只要安装一些库,同时修改php.ini就可以了。或许按照你们的方法(我发问前就看过了),能够成功,但是我觉得不值得,或者没有意义,因为这样的话,我还是没有搞清楚问题的本质。。请有研究精神的大老们和我一起解决这个问题。。3X.

这个问题是大大的有难度啊,因为turbolinux发行版提供的包是1.3.x版的apache,而我更喜欢2.0.x的所以只能自己./configure
从来没安装过RPM的apache,所以我只能用win下的方法来解决你关于RPM包的问题,通常有像php-gd,php-mysql之类的包只有再安装这些RPM包才可以加载PHP扩展
在win下我们安装php.net提供的.zip包时不是那个.exe包
为了加载PHP扩展,首先我们要在php.ini里设置
extension_dir = /path 这个目录通常指向你解开的php包下的extension目录
而php_gd2.dll放置于这个目录
接着我们才可以设定extension=php_gd2.dll
这样的话你就可以在phpinfo输出里看到gd2的选项
linux下也一样的道理

那如果我们自己./configure呢
参数可以这样导出./configure > /root/php.txt
生成的php.txt就是所有的参数
你自己参照http://dato.minidns.net/info.asp
config command这部分就是我的所有在shell里敲入的选项
'./configure' '--with-maintainer-mode' '--with-apxs2=/dato/w3/apache2/bin/apxs' '--with-mysql=/dato/w3/mysql' '--prefix=/dato/w3/apache2/php' '--with-exec-dir=/dato/w3/ext' '--with-config-file-path=/dato/w3/apache2' '--enable-safe-mode' '--enable-memory-limit' '--enable-mbstring=all' '--enable-mbregex' '--enable-trans-sid' '--with-zlib' '--with-bz2' '--with-gd' '--enable-gd-native-ttf' '--with-ttf=/usr/include/freetype2/freetype' '--with-jpeg-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-zlib-dir=/usr/lib' '--with-freetype-dir=/usr/lib' '--disable-sockets' '--disable-ipv6' '--disable-cgi' '--disable-cli' '--disable-rpath' '--without-pear' '--cache-file=PHP_dato'


我的GD支持,--with-gd' '--enable-gd-native-ttf' '--with-ttf=/usr/include/freetype2/freetype' '--with-jpeg-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-zlib-dir=/usr/lib' '--with-freetype-dir=/usr/lib'
少了个T1Lib Support enabled
再加上一个--with-t1lib[=DIR]
就可以和你的一样
注意一定要系统安装相关库,比如要jpeg支持的话,那就需要安装jpeg和jpeg-devel
--with-gd和--with-gd[=DIR]应该是不同的前面那个是由php包提供,后面那个是用你系统的GD库
事实上我也想在php.ini动态加载gd库支持的就是你前面那个问题不过末果所以我放弃了,直接将所有的选项生成一个libphp4.so
你试试吧只要将,--with-gd' 改成,--with-gd=shared就应该可以在php.ini里动态加载了。(这部分是我的臆测没检验过)

可能碰到的错误,真是头疼的错误
请注意你的库的路径一定要设定正确。在turbolinux通常是/usr/lib别的系统不清楚
比如我刚开始jpeg的路径设为--with-jpeg-dir=/usr'
./configure 通过 高兴
make 通过 高兴
make install HOHO,如果你的路径设错了,应该会看到一个非常经典的错误。你的libphp4.so不能生成

我靠,思路有点不清晰,先看看吧,不懂再跟帖
 楼主| 发表于 2003-10-28 20:47:29 | 显示全部楼层

关于configure的信息

我们用phpinfo()函数可以看到Configure Command 的信息,也就是很多--with--之类的东西,,这些东西到底是保存再一个文件还是什么??如果安装php是通过./configure,那么取得这些参数还不难,但是如果不是通过./configure而是通过 rpm 安装,那么,phpinfo()函数从那儿读出这些值??
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表