让你的PHP同时支持GIF、png、JPEG


Posted in PHP onOctober 09, 2006

让你的PHP同时支持GIF、png、JPEG

在RedHat6.2按php的manual编译安装,发现只能处理GIF图像,不能处理JPEG图像。后来知道PHP处理图像,使用了GD库,而GD库开始时是支持GIF的,但由于GIF使用了有版权争议的LZW算法,会引起法律问题,于是从GD-1.6开始,GD库不再支持GIF,改为支持更好的,无版权争议的PNG。而我现在希望同时支持GIF,PNG和JPEG。

1、 Jpeg6b的安装
RedHat6.2中已经有了RPM包,我们也就不需要去费劲编译了。
  放入安装盘
  mount /mnt/cdrom
  cd /mnt/cdrom/RedHat/RPMS
  rpm -ivh libjpeg*

安装成功,用rpm -ql libjpeg-6b-10 查看,发现libjpeg.so.62.0.0被拷到/usr/lib目录下。记住此目录,等会儿配php时要用。

2、 GD-1.8.3的安装
获取GD源码的地址为:
http://www.boutell.com/gd/
你当然可以自己编译,但它不支持jpeg,要打补丁。
获取补丁源码的地址为:
http://www.webofsin.com/gd-1.8.3-gif.patch
接下来………………麻烦死了……劝你还是不要自己编译了!!

有现成的东西为何不用呢?已经有人打好补丁编译好了,做成RPM。
可以在:
http://rpms.arvin.dk/rh7-backports/gd/
http://rpms.arvin.dk/gd-with_gif/
得到。世上竟然有这么好的人?;-<
真令人感动!!!

下载了几个gd-with_gif*.rpm后直接 rpm -ivh gd-with_gif* 安装。
用 rpm -ql gd-with_gif-1.8.3-7 查看
发现 libgd.so.1.8.3 放到了 /usr/gd-with_gif/lib 下
记住此目录,配php时也要用。

3、 PHP的安装和配置
鉴于曾听说php4.0不支持jpeg(不知记错没),我建议还是用php的最新版。
下面的,大家应该熟悉得不能再熟悉了吧?
于是我把php的manual抄下来:
---------------------------------
1. gunzip apache_1.3.x.tar.gz
2. tar xvf apache_1.3.x.tar
3. gunzip php-x.x.x.tar.gz
4. tar xvf php-x.x.x.tar
5. cd apache_1.3.x
6. ./configure --prefix=/www
7. cd ../php-x.x.x
8. 这里是关键!!!
  ./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars --with-jpeg-dir=/usr/lib --with-gd=/usr/gd-with_gif/lib
  当然你也可以加上你自己的选项,此不赘述。
9. make
10. make install
11. cd ../apache_1.3.x
12. for PHP 4: ./configure --activate-module=src/modules/php4/libphp4.a
13. make
14. make install

Instead of this step you may prefer to simply copy the httpd binary
overtop of your existing binary. Make sure you shut down your
server first though.

15. cd ../php-x.x.x
16. for PHP 4: cp php.ini-dist /usr/local/lib/php.ini

You can edit your .ini file to set PHP options. If
you prefer this file in another location, use
--with-config-file-path=/path in step 8.

17. Edit your httpd.conf or srm.conf file and add:
   For PHP 4:  AddType application/x-httpd-php .php

You can choose any extension you wish here. .php is simply the one
we suggest. You can even include .html .

18. Use your normal procedure for starting the Apache server. (You must
  stop and restart the server, not just cause the server to reload by
  use a HUP or USR1 signal.)
---------------------------------------

终于成功了,你可以启动apache用phpinfo()试一试,发现gd那里:
----------------------
    gd
GD Support enabled
GD Version 1.6.2 or higher
GIF Support enabled
PNG Support enabled
JPG Support enabled
WBMP Support enabled
----------------------

^_^哈哈哈哈哈哈哈哈哈^_^
你现在可以用到所有的php图形函数了:
ImageCreateFromGIF() — Create a new image from file or URL
ImageCreateFromJPEG() — Create a new image from file or URL
ImageCreateFromPNG() — Create a new image from file or URL
……
绝对没问题!!!!

PHP 相关文章推荐
用PHP动态生成虚拟现实VRML网页
Oct 09 PHP
Youku 视频绝对地址获取的方法详解
Jun 26 PHP
smarty简单分页的实现方法
Oct 27 PHP
php购物车实现方法
Jan 03 PHP
php随机生成数字字母组合的方法
Mar 18 PHP
如何利用http协议发布博客园博文评论
Aug 03 PHP
php开发微信支付获取用户地址
Oct 04 PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 PHP
Joomla开启SEF的方法
May 04 PHP
iOS10推送通知开发教程
Sep 19 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
PHP使用pdo连接access数据库并循环显示数据操作示例
Jun 05 PHP
定制404错误页面,并发信给管理员的程序
Oct 09 #PHP
php录入页面中动态从数据库中提取数据的实现
Oct 09 #PHP
使用字符串函数输出整数化的PHP版本号
Oct 09 #PHP
树型结构列出指定目录里所有文件的PHP类
Oct 09 #PHP
搜索和替换文件或目录的一个好类--很实用
Oct 09 #PHP
非常好的php目录导航文件代码
Oct 09 #PHP
PHP4.04简明安装
Oct 09 #PHP
You might like
《一拳超人》埼玉一拳下去,他们存在了800年毫无意义!
2020/03/02 日漫
解析php中curl_multi的应用
2013/07/17 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
js打印纸函数代码(递归)
2010/06/18 Javascript
textarea中的手动换行处理的jquery代码
2011/02/26 Javascript
javascript拖拽上传类库DropzoneJS使用方法
2013/12/05 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
微信小程序 出现错误:{&quot;baseresponse&quot;:{&quot;errcode&quot;:-80002,&quot;errmsg&quot;:&quot;&quot;}}解决办法
2017/02/23 Javascript
js控制文本框禁止输入特殊字符详解
2017/04/07 Javascript
理解 javascript 中的函数表达式与函数声明
2017/07/07 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
AngularJS通过ng-Img-Crop实现头像截取的示例
2017/08/17 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
返回上一个url并刷新界面的js代码
2020/09/12 Javascript
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
python 从远程服务器下载东西的代码
2013/02/10 Python
Python线程的两种编程方式
2015/04/14 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
python3爬取各类天气信息
2018/02/24 Python
python之pexpect实现自动交互的例子
2019/07/25 Python
安装完Python包然后找不到模块的解决步骤
2020/02/13 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
物流专业大学生求职信范文
2013/10/28 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
开工典礼策划方案
2014/05/23 职场文书
运动会搞笑广播稿
2014/10/14 职场文书
解析目标检测之IoU
2021/06/26 Python
全新239军机修复记
2022/04/05 无线电
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js
MySQL数据库查询之多表查询总结
2022/08/05 MySQL