一、解包并安装依赖性
tar jxf php-5.6.35.tar.bz2 #解包
yum install -y net-snmp-devel gmp-devel-4.3.1-7.el6_2.2.x86_64 freetype-devel 2:libpng-devel-1.2.49-1.el6_2.x86_64 libjpeg-turbo-devel-1.2.1-1.el6.x86_64 libcurl-devel openssl-devel libxml2-devel
yum install -y libmcrypt-* #需要下载,yum源内没有
二、源码编译,安装
[root@server1 lnmp]# cd php-5.6.35
[root@server1 php-5.6.35]# ls
[root@server1 php-5.6.35]# ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp --with-gettext --with-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash
./configure --prefix=/usr/local/lnmp/php
--with-config-file-path=/usr/local/lnmp/php/etc
--with-openssl
--with-snmp
--with-gd
--with-zlib --with-curl
--with-libxml-dir
--with-png-dir --with-jpeg-dir --with-freetype-dir
--with-gmp
--with-gettext
--with-pear
--enable-mysqlnd
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--enable-inline-optimization
--enable-soap
--enable-ftp
--enable-sockets
--enable-mbstring
--enable-fpm
--with-fpm-user=nginx
--with-mcrypt
--with-fpm-group=nginx
--with-mhash
如果编译时报错,查看需要什么软件,安装后继续编译,直到编译成功,可能需要安装的软件:
yum install freetype-devel
yum install -y libxml2-devel
yum install openssl-devel -y
yum install libcurl-devel -y
yum whatprovides */jpeglib.h
yum install -y libjpeg-turbo-devel-1.2.1-1.el6.x86_64
yum whatprovides */png.h
yum install -y 2:libpng-devel-1.2.49-1.el6_2.x86_64
yum whatprovides */gmp.h
yum install gmp-devel-4.3.1-7.el6_2.2.x86_64 -y
yum install -y libmcrypt-* #需要libmcrypt-2.5.8-9.el6.x86_64.rpm 和libmcrypt-2.5.8-9.el6.x86_64.rpm 安装包
yum install net-snmp-devel -y
make && make install
三、编辑配置文件
[root@server1 php-5.6.35]# cd /usr/local/lnmp/php/
[root@server1 php]# cd etc
[root@server1 etc]# ls
pear.conf php-fpm.conf.default
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# vim php-fpm.conf
25 pid = run/php-fpm.pid
[root@server1 ~]# cd /mnt/lnmp/php-5.6.35
[root@server1 php-5.6.35]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini
[root@server1 php-5.6.35]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php.ini
[root@server1 etc]# vim php.ini
936 date.timezone =Asia/Shanghai(修改时区)
添加启动文件:
[root@server1 ~]# cd /mnt/lnmp/php-5.6.35/sapi/fpm/
[root@server1 fpm]# cp init.d.php-fpm /etc/init.d/php-fpm
[root@server1 fpm]# chmod +x /etc/init.d/php-fpm
[root@server1 fpm]# /etc/init.d/php-fpm start #报错
Starting php-fpm [30-Apr-2019 05:18:59] ERROR: [pool www] cannot get uid for user 'nginx'
[30-Apr-2019 05:18:59] ERROR: FPM initialization failed
failed
[root@server1 fpm]# useradd nginx #添加所需用户
[root@server1 fpm]# /etc/init.d/php-fpm start #再次启动成功
Starting php-fpm done