准备环境,下载依赖软件
# No1:在前面安装好的基础上,关闭iptables、selinux
# No2:安装依赖包
yum install zlib-devel bzip2-devel -y <--- 数据压缩相关
yum install libxml2-devel -y <--- 便于读取加载xml文件的依赖包
yum install libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel -y <--- 页面显示优化相关
yum install libiconv libiconv-devel -y <--- 软件安装---字符集转换库
yum install libxslt-devel pcre-devel php-mcrypt libmcrypt libmcrypt-devel mhash mcrypt -y <--- 安装其他软件
# No3:进行目录,上传安装包
[root@TEST ~]# cd /server/tools
# No4:解压安装包,进入解压出来的目录下
[root@TEST tools]# tar xf php-7.2.29.tar.gz
[root@TEST tools]# cd php-7.2.29
configure配置、编译、安装
No1# 进入配置路径
[root@TEST tools]# cd php-7.2.29
No1# 配置命令
[root@TEST php-7.2.29]#
./configure
--prefix=/application/php-7.2.29
--with-config-file-path=/application/php-7.2.29/etc
--enable-fpm
--with-fpm-user=www
--with-fpm-group=www
--enable-mysqlnd
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--enable-mysqlnd-compression-support
--with-iconv-dir
--with-freetype-dir
--with-jpeg-dir
--with-png-dir
--with-zlib
--with-libxml-dir
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--enable-mbregex
--enable-mbstring
--enable-intl
--with-libmbfl
--enable-ftp
--with-gd
--enable-gd-jis-conv
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-zip
--enable-soap
--with-gettext
--disable-fileinfo
--enable-opcache
--with-pear
--enable-maintainer-zts
--with-ldap=shared
--without-gdbm
# No3:查看配置返回值是否为0;如果是0,则执行下一步。
[root@TEST php-7.2.29]# echo $?
产生如下报错信息及解决办法:
报错信息1:configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works
解决办法:yum install libicu-devel
报错信息2:configure: error: Cannot find ldap.h
解决办法:yum install openldap openldap-devel -y
报错信息3:configure: error: Cannot find ldap libraries in /usr/lib
解决办法:cp -frp /usr/lib64/libldap* /usr/lib/:
报错信息4:configure: error: Unable to detect ICU prefix or no failed. Please verify ICU install prefix and make sure icu-config works
解决办法:yum install libicu-devel -y
报错信息5:configure: error: Cannot find ldap libraries in /usr/lib
解决方法:cp -frp /usr/lib64/libldap* /usr/lib/
注意:若出现报错信息,则进行解决,解决完后,删除解压包,再次重新进行配置。
# No4:编译
[root@TEST php-7.2.29]# make <——查看配置返回值是否为0;如果是0,则执行下一步。
# No5:安装
[root@TEST php-7.2.29]# make install <——查看配置返回值是否为0;如果是0,则执行下一步。
创建软连接
[root@TEST php-7.2.29]# ln -s /application/php-7.2.29 /application/php
创建配置文件,并将其复制到正确的位置
# No1: php.ini,编译配置时配在php7/etc目录下
[root@TEST php-7.2.29]# cp ./php.ini-development /application/php/lib/php.ini
# No4:修改php-fpm.conf
[root@TEST php-7.2.29]# cp /application/php/etc/php-fpm.conf.default /application/php/etc/php-fpm.conf
# No4:修改www.conf文件
注意:需要注意的是php7中www.conf这个配置文件配置phpfpm的端口号等信息,如果你修改默认的9000端口号需在这里改,再改nginx的配置
[root@TEST php-7.2.29]# cp /application/php/etc/php-fpm.d/www.conf.default /application/php/etc/php-fpm.d/www.conf
启动php-fpm
[root@TEST php-7.2.29]# /application/php/sbin/php-fpm
检查php-fpm启动情况
[root@TEST php-7.2.29]# ps -ef|grep php
root 17813 1 0 23:09 ? 00:00:00 php-fpm: master process (/application/php-7.2.29/etc/php-fpm.conf)
www 17814 17813 0 23:09 ? 00:00:00 php-fpm: pool www
www 17815 17813 0 23:09 ? 00:00:00 php-fpm: pool www
root 17852 10781 0 23:11 pts/1 00:00:00 grep php
[root@TEST php-7.2.29]# netstat -lntup|grep php
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 17813/php-fpm
设置环境变量
[root@TEST php-7.2.29]# vim /etc/profile
##加上后面这句话:export PATH=/application/php/bin/:/application/php/sbin/:$PATH
[root@TEST php-7.2.29]# source /etc/profile
[root@TEST php-7.2.29]# php -v