1.安装依赖
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel bzip2 bzip2-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel readline-devel libxslt-devel autoconf
2.下载php源码及安装
#### 进入root目录
cd /root
#### 下载源码
wget http://docs.php.net/distributions/php-7.2.10.tar.gz
#### 解压
tar xvf php-7.2.10.tar.gz
#### 打开php目录
cd php-7.2.10
#### 配置
./configure --prefix=/usr/local/lnmp/php \
--enable-bcmath \
--with-bz2 \
--enable-calendar \
--with-curl \
--enable-exif \
--enable-ftp \
--with-gd \
--with-gettext \
--with-mhash \
--with-libxml-dir \
--enable-mbstring \
--with-mysqli \
--with-openssl \
--with-pcre-dir \
--with-pdo-mysql \
--with-readline \
--enable-sockets \
--enable-wddx \
--with-xsl \
--enable-zip \
--with-zlib \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-iconv-dir \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www
#### --enable-bcmath 打开图片大小调整
#### --with-bz2 打开对bz2文件的支持
#### --enable-calendar 打开日历扩展功能
#### --with-curl 打开curl浏览工具的支持
#### --enable-exif 图片的元数据支持
#### --enable-ftp 打开ftp的支持
#### --with-gd 打开gd库的支持
#### --with-gettext 打开gnu 的gettext 支持,编码库用到
#### --with-mhash mhash算法的扩展
#### --with-libxml-dir 打开libxml2库的支持
#### --enable-mbstring 多字节,字符串的支持
#### --with-mysqli 对mysql的支持
#### --with-openssl openssl的支持,加密传输时用到的
#### --with-pcre-dir perl的正则库
#### --with-pdo-mysql PDO支持
#### --with-readline 包括readline支持(仅限CLI / CGI)
#### --enable-sockets 打开 sockets 支持
#### --enable-wddx 启用WDDX支持
#### --with-xsl 打开XSLT 文件支持
#### --enable-zip 包括Zip读/写支持
#### --with-zlib 打开zlib库的支持
#### --with-freetype-dir 打开对freetype字体库的支持
#### --with-jpeg-dir 打开对jpeg图片的支持
#### --with-png-dir 打开对png图片的支持
#### --enable-fpm 打开php-fpm
#### 如果加的参数有不支持的,提示比如:configure: WARNING: unrecognized options:xxxxxx
#### 删除不支持的参数就可以了
#### 进行编译
make
#### 进行安装
make install
3.复制php的配置文件
#### 在php安装包中复制php配置文件
cp /root/php-7.2.10/php.ini-development /usr/local/lnmp/php/lib/php.ini
#### 然后编辑php.ini
vim /usr/local/lnmp/php/lib/php.ini
#### 去掉注释并改为
;date.timezone =
date.timezone = PRC
#### 文件上传 注意post配置要比upload大
memory_limit = 128M
post_max_size = 105M
upload_max_filesize = 100M
### 添加mysql的sock文件
### 查看方式 登录mysql 然后status即可查看sock文件位置
pdo_mysql.default_socket = /usr/local/lnmp/mysql/tmp/mysql.sock
mysqli.default_socket = /usr/local/lnmp/mysql/tmp/mysql.sock
4.复制php-fpm的配置文件
#### 复制php-fpm配置文件
cp /usr/local/lnmp/php/etc/php-fpm.conf.default /usr/local/lnmp/php/etc/php-fpm.conf
#### 编辑php-fpm.conf配置文件
vim /usr/local/lnmp/php/etc/php-fpm.conf
#### 修改如下
pid = run/php-fpm.pid 打开注释
#### 复制www.conf配置文件
cp /usr/local/lnmp/php/etc/php-fpm.d/www.conf.default /usr/local/lnmp/php/etc/php-fpm.d/www.conf
#### 编辑www.conf配置文件
vim /usr/local/lnmp/php/etc/php-fpm.d/www.conf
#### 修改如下
user = www
group = www
pm.max_children = 50 #静态方式下开启的php-fpm进程数量
pm.start_servers = 20 #动态方式下的起始php-fpm进程数量
pm.min_spare_servers = 5 #动态方式空闲状态下的最小php-fpm进程数量
pm.max_spare_servers = 35 #动态方式空闲状态下的最大php-fpm进程数量
#### 如果没有www用户
groupadd www
useradd -g www -s /sbin/nologin -M www
#### -M 不创建家目录 建议与php使用同一用户组及用户
#### 彻底删除用户
userdel -r name
5.启动及设置开机自启
#### 检查配置文件
/usr/local/lnmp/php/sbin/php-fpm –t
#### 启动
/usr/local/lnmp/php/sbin/php-fpm
#### 查看启动情况
ps -ef | grep php-fpm
#### 设置自启动
cp /root/php-7.2.10/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
#### 添加执行权限
chmod +x /etc/init.d/php-fpm
#### php-fpm加入服务
chkconfig --add php-fpm
#### 设置自启动
chkconfig php-fpm on
#### 然后使用命令
service php-fpm restart
service php-fpm stop
service php-fpm start
6.安装redis扩展
#### 打开root目录
cd /root
#### 下载redis扩展
wget http://pecl.php.net/get/redis-4.1.1.tgz
#### 解压
tar -xf redis-4.1.1.tgz
#### 打开redis目录
cd redis-4.1.1
#### 搜索phpize位置
find / -name phpize
#### 用phpize生成configure配置文件
/usr/local/lnmp/php/bin/phpize
#### 配置
./configure --with-php-config=/usr/local/lnmp/php/bin/php-config
#### 编译
make
#### 安装
make install
#### 安装完成后出现
Installing shared extensions: /usr/local/lnmp/php/lib/php/extensions/no-debug-non-zts-20170718/
#### 修改php.ini文件
vim /usr/local/lnmp/php/lib/php.ini
#### 加入redis扩展 在47%左右
extension=redis.so
#### 重启php-fpm后查看phpinfo