在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。 欢呼!