让你的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图片上传程序
Mar 27 PHP
php教程 插件机制在PHP中实现方案
Nov 02 PHP
分割GBK中文遭遇乱码的解决方法
Aug 09 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP解析RSS的方法
Mar 05 PHP
PHP获取ip对应地区和使用网络类型的方法
Mar 11 PHP
php计算两个坐标(经度,纬度)之间距离的方法
Apr 17 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
Jul 03 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
Oct 12 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
中英文字符串翻转函数
2008/12/09 PHP
9段PHP实用功能的代码推荐
2014/10/14 PHP
php+layui数据表格实现数据分页渲染代码
2019/10/26 PHP
IE php关于强制下载文件的代码
2008/08/23 Javascript
javascript 带有滚动条的表格,标题固定,带排序功能.
2009/11/13 Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
2013/11/13 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
详解Python的Django框架中的templates设置
2015/05/11 Python
详解Golang 与python中的字符串反转
2017/07/21 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
Python定时发送消息的脚本:每天跟你女朋友说晚安
2018/10/21 Python
Python实现带参数的用户验证功能装饰器示例
2018/12/14 Python
python3用PIL把图片转换为RGB图片的实例
2019/07/04 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
CHARLES & KEITH澳大利亚官网:新加坡时尚品牌
2019/01/22 全球购物
国窖1573广告词
2014/03/21 职场文书
《谁的本领大》教后反思
2014/04/25 职场文书
慰问信格式规范
2015/03/23 职场文书
转学证明范本
2015/06/19 职场文书
离职告别感言
2015/08/04 职场文书
初三英语教学反思
2016/02/15 职场文书
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript
python基础之函数的定义和调用
2021/10/24 Python
Python实现日志实时监测的示例详解
2022/04/06 Python
使用refresh_token实现无感刷新页面
2022/04/26 Javascript