进级Ubuntu系统中的GD库到完好版[服务器安全]
本文“进级Ubuntu系统中的GD库到完好版[服务器安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
普通情形下我们在Ubuntu的Linux发行版本中安装LAMPP环境都是直接通过apt-get的方法来举行安装(便利,可以偷懒!呵呵)!
固然很便利,但是在这些集成版本中多多极少也存在一些问题.
比方说PHP5-GD库~ 我们安装好后发现phpinfo中的提醒是 2.0 or higher. 固然大部份的功效都有,但是这个库并不完好.
在一次西林我做 Drupal项目中就呈现 Drupal 报错,招致image模块的部份功效缺失!开始还很诧异,问了一下朋友,朋友说应当不会呈现这样的问题(后来才知道,他一向都是编译安装 T-T).
报错的信息以下:
GD Image Filtering 和 GD Image Rotation 无法正常工作,系统提醒的意思为该GD库版本不是官方的发行版本!
于是我开始在网上找这方面的问题,发现全部的Ubuntu和debian用户都存在这样的问题.
因为利用DRUPAL国内用户少,所以问题不是很明显.去国外的一些网站查的时刻找到了办理办法.(E文太差,找起来吃力!)
主要问题就在GD库上,很多人说APT包中的GD库是被改正过的,然后再编译整合.所以会呈现不能功效的缺失.既然找到问题所在了就有办法办理.我在 Cumu.li 的网站上看到他提出的办理办法.BLOG原文以下:
I’ve been installing the LAMP stack on an Ubuntu based server for a client. They rely on the version of LibGD that’s bundled with PHP5. This version includes certain functions including imagerotate() and others.
It seems that the people who build Ubuntu (and Debian) distribution do not want to compile PHP5 with the version of GD that comes bundled with PHP5. As far as I can tell the guys at Ubuntu (and Debian) consider this to be a fork of the original GD library and think that this could be a security risk. Their stance on it is that if PHP want to use this version then they should contribute the changes that have been made to the original GD library back to the core project. This seems fair enough, but unfortunately I can’t immediately change the direction of an open source project this big – or probably any project, come to think about it!
After a bit of rummaging around on the Internet I found nothing to do with actually compiling in this support, so I tried to work out how to do this… In theory! I found a link on Ubuntu forums about including the GMP library I roughly followed this through.
(西林我的E文水平差就不献丑翻译了!基本就是倡议大家重新下载源码,然后在编译打包!)
具体操作以下:
先下载个源码包
# Install build tools, debian helpers and fakeroot
apt-get install build-essential debhelper fakeroot
# source code should reside in /usr/src
cd /usr/src
# Download PHP source
apt-get source php5
# Install all packages required to build PHP5
apt-get build-dep php5
cd php5-5.2.3在Download PHP source后程序会自动把紧缩的包举行解压,所以我们在我们只需求进入解压后的目录中先改正 debian/rules 文件中的
--with-gd=shared,/usr --enable-gd-native-ttf \.
改正成:
--with-gd=shared --enable-gd-native-ttf \.
然后保存退出,对源码举行编译,号令以下:
# build the php5-* packages 注意编译历程相当冗长,需求渐渐等候
dpkg-buildpackage -rfakeroot
cd ..
# Install the new php5-gd package
dpkg -i php5-gd_5.2.3-1Ubuntu6.3_i386.deb
OK了今后我们便可以直接将包举行安装了.当然别忘了重启apache2的服务.
然后我们通过PHPINFO来查抄安装后的环境GD库部份提醒明显就变了,信息提醒以下:
GD Version bundled (2.0.34 compatible)
这样你的完好的GD库就安装好了.
最后西林提醒一下大家,上诉流程的距离我也是直接COPY cumu.li的原文.在实际的安装打包的时刻,大家要看细心你的包名称,可不能直接COPY我的代码.
像我安装的时刻我的源码包名称就是 php5-5.2.3-org.1,所以这个地方大家的操作需求细心一点!OK,还愣什么,去进级你的GD库吧~!
以上是“进级Ubuntu系统中的GD库到完好版[服务器安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |