重新编译PHP5捆绑支持在Ubuntu上的GD

在Ubuntu上重新编译支持PHP5的PHP5

我一直在为一个客户端在基于Ubuntu的服务器上安装LAMP 。 它们依赖于与PHP5捆绑在一起的LibGD版本。 此版本包括某些功能,包括imagerotate()和其他功能。

构建Ubuntu(和Debian)发行版的人似乎不想使用与PHP5捆绑在一起的GD版本来编译PHP5。 据我所知,Ubuntu(和Debian)的人认为这是GD库的一个分支,认为这可能是安全隐患。 他们的立场是,如果PHP想要使用这个版本,那么他们应该将对原始GD库的更改贡献给核心项目。 这似乎是公平的,但不幸的是,我不能立即改变一个开源项目的方向这个大的,或者可能是任何项目,来考虑它!

经过互联网上的一些翻译,我发现与实际编译在这个支持无关,所以我试图找出如何做到这一点...在理论上! 我在Ubuntu论坛上发现了一个关于包括我大致遵循的GMP库的链接。

要安装所需的软件包并下载PHP5的源代码:

安装构建工具,debian助手和fakeroot:

apt-get install build-essential debhelper fakeroot

源代码应驻留在/ usr / src中

cd /usr/src

下载PHP源码

apt-get source php5

安装构建PHP5所需的所有软件包:

apt-get build-dep php5
cd php5-5.2.3

现在一个程序包被编译在包含在debian目录中的文件中。 配置编译过程的规则可以在debian / rules中找到。 在这个文件中有一行--with-gd = shared,/ usr --enable-gd-native-ttf \ 。 这个链接到Ubuntu的分布式版本的LibGD作为共享库。 它是autoconf脚本的一部分,用于自定义PHP的编译。 我用--with-gd = shared --enable-gd-native-ttf \替换了这一行。 这将导致编译过程使用GD的捆绑版本并创建一个共享库。

一旦重新配置包,它可以通过以下方式进行编译和安装:

构建php5- *包:

dpkg-buildpackage -rfakeroot
cd ..

安装新的php5-gd软件包

dpkg -i php5-gd_5.2.3-1ubuntu6.3_i386.deb

快一点

/etc/init.d/apache2 restart

嗨presto,你应该使用绑定版本的LibGD for PHP。 欢呼!

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏