## 下载

[root@localhost src]# wget http://cn2.php.net/distributions/php-5.4.37.tar.bz2

## 解压

[root@localhost src]# tar jxvf php-5.4.37.tar.bz2

[root@localhost src]# cd php-5.4.37

## 编译安装

[root@localhost php-5.4.37] # ./configure --prefix=/usr/local/php-fpm --with-config-file-path=/usr/local/php-fpm/etc --enable-fpm --with-fpm-user=php-fpm --with-fpm-group=php-fpm --with-mysql=/usr/local/mysql --with-mysql-sock=/tmp/mysql.sock --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-exif --disable-ipv6

解释说明:

--prefix= 配置安装路径

--with-config-file-path= 配置文件路径

--enable-fpm  NGINX环境必须开启此功能(这个必须要有,如果没有,核心启动脚本出不来)

--with-mysql= php一定和mysql有所关联

--with-mysql-sock= mysql的sock文件路径

--with-fpm-user= --with-fpm-group= 配置执行fpm的用户与组

[root@localhost php-5.4.37]# make

[root@localhost php-5.4.37]# make install

## 检测是否有错

[root@localhost php-5.4.37]# echo $?

0

## php环境包安装完毕

[root@localhost php-5.4.37]# ls /usr/local/php-fpm/

bin  etc  include  lib  php  sbin  var

## 拷贝配置文件至指定目录

[root@localhost php-5.4.37]# cp php.ini-production /usr/local/php-fpm/etc/php.ini

解释说明:

php.ini-development、php.ini-production两个配置文件80%内容相同,development日志级别生产环境更加宽松,production线上环境产生日志更加严谨;

## 复制启动脚本

[root@localhost php-5.4.37]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

## 修改权限,加入到系统启动服务中

[root@localhost php-5.4.37]# chmod 755 /etc/init.d/php-fpm

[root@localhost php-5.4.37]# chkconfig --add php-fpm

[root@localhost php-5.4.37]# chkconfig php-fpm on

## 重命名fpm服务配置文件

[root@localhost php-5.4.37]# mv -v /usr/local/php-fpm/etc/{php-fpm.conf.default,php-fpm.conf}

解释说明:

同目录下有php-fpm.conf.default php-fpm.conf两个文件,mv {,}改名;

-v 显示结果;

{}命令行展开;

## 检测配置文件语法是否有错

[root@localhost php-5.4.37]# /usr/local/php-fpm/sbin/php-fpm -t

## 创建用户php-fpm

[root@localhost php-5.4.37]# useradd -s /sbin/nologin php-fpm

说明:在开始./configure的参数中就指定了启动服务的用户为 php-fpm 。

## 启动服务

[root@localhost php-5.4.37]# service php-fpm start

Starting php-fpm  done

## 查看进程与端口

[root@localhost php-5.4.37]# ps aux|grep php-fpm

root      9282  0.0  0.7 107400  3912 ?        Ss   15:28   0:00 php-fpm: master process (/usr/local/php-fpm/etc/php-fpm.conf)                                                                           

php-fpm    9283  0.0  0.7 107400  3652 ?        S    15:28   0:00 php-fpm: pool www

php-fpm    9284  0.0  0.7 107400  3652 ?        S    15:28   0:00 php-fpm: pool www

[root@localhost php-5.4.37]# netstat -lnp |grep php-fpm

tcp        0      0 127.0.0.1:9000              0.0.0.0:*                   LISTEN      9282/php-fpm

## 若想修改端口号

[root@localhost php-5.4.37]# vim /usr/local/php-fpm/etc/php-fpm.conf

listen = 127.0.0.1:9000