让你的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 nl2br函数 将换行字符转成 &amp;lt;br&amp;gt;
Aug 21 PHP
PHP教程 预定义变量
Oct 23 PHP
php操作xml
Oct 27 PHP
php通过array_shift()函数移除数组第一个元素的方法
Mar 18 PHP
php实现用已经过去多长时间的方式显示时间
Jun 05 PHP
php实现简易聊天室应用代码
Sep 23 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
微信支付开发发货通知实例
Jul 12 PHP
PHP实现小偷程序实例
Oct 31 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP7下协程的实现方法详解
Dec 17 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
浅谈php命令行用法
2015/02/04 PHP
PHP中字符安全过滤函数使用小结
2015/02/25 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
2020/05/02 PHP
Add a Picture to a Microsoft Word Document
2007/06/15 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
node.js中的http.createServer方法使用说明
2014/12/14 Javascript
jquery实现最简单的滑动菜单效果代码
2015/09/12 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
AngularJS入门教程之Cookies读写操作示例
2016/11/02 Javascript
JS检测数组类型的方法小结
2017/03/14 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
使用iView Upload 组件实现手动上传图片的示例代码
2018/10/01 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
vue实现表单录入小案例
2019/09/27 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
JavaScript仿京东轮播图效果
2021/02/25 Javascript
用Python创建声明性迷你语言的教程
2015/04/13 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
总结Pyinstaller的坑及终极解决方法(小结)
2020/09/21 Python
Django框架请求生命周期实现原理
2020/11/13 Python
Python 实现键盘鼠标按键模拟
2020/11/18 Python
娱乐地球:Entertainment Earth
2020/01/08 全球购物
建筑总经理岗位职责
2014/02/02 职场文书
2014年国培研修感言
2014/03/09 职场文书
三项教育活动实施方案
2014/03/30 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
小学班主任工作随笔
2015/08/15 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
Windows中Redis安装配置流程并实现远程访问功能
2021/06/07 Redis