在32位ubuntu server下编译带php-fpm的php

最近想把网站从apache转移到nginx+fastcgi,但是我那个php程序只能运行在php5.2.x,因为只有5.2.x能装旧版本的zend。经过艰难的探索,终于成功地在ubuntu下成功编译php-5.2.17,主要步骤如下:

1.下载必须的源码

由于我是在虚拟机里测试的,我事先下载好源码了,放在hfs上,然后wget

php-5.2.17.tar.gz

php-5.2.17-fpm-0.5.14.diff.gz

2.配置 编译

sudo su

tar xzf php-5.2.17.tar.gz #解压

gzip -cd php-5.2.17-fpm-0.5.14.diff.gz |patch -d php-5.2.17 -p1  #为php添加php-fpm补丁

aptitude install libxml2-dev libevent-dev #安装需要的包

./configure --help #可以查看编译帮助

./configure --enable-fpm --enable-fastcgi #配置以支持fpm

make all install   #编译安装

3.相关设置

请注意,安装后的php在 /usr/local/bin

配置文件在/usr/local/lib,但是现在并没有,需要手动复制刚才编译后的文件夹中的php.ini-dist过去,重命名为php.ini(其实不做这一步也可以运行php-fpm)

配置php-fpm,把刚才编译时的php-5.2.17/sapi/cgi/fpm/init.d/下面的php-fpm.in复制到/etc/init.d/


2011-04-09 00:42111