1、安装之前要先安装一些依赖包
yum -y install gcc-c++ gd-devel gmp-devel net-snmp-devel openldap-devel openssl-devel perl-devel libcurl-devel libicu-devel libxml2-devel libzip-devel
2、解压 tar –zxvf php-7.3.2.tar.gz
进入php-7.3.2 进行编译:
./configure \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-mysqli \
--with-pdo-mysql \
--with-iconv-dir \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir \
--enable-simplexml \
#如果你提前安装好了Apache,则要指定下安装路径,如果是nginx就直接用php-fpm不要下面那句话了
--with-apxs2=/usr/local/apache2/bin/apxs \ //告诉PHP查找Apache2的地方
--enable-xml \
--disable-rpath \
--enable-bcmath \
--enable-soap \
--enable-zip \
--with-curl \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mbstring \
--enable-sockets \
--with-gd \
--with-openssl \
--with-mhash \
--enable-opcache \
--disable-fileinfo
3、进行编译安装
make && make install
4、添加配制文件
#解决问题一:进入cd /usr/local/php/etc目录
cp php-fpm.conf.default php-fpm.conf
#解决问题二:进入cd /usr/local/php/etc/php-fpm.d 目录
cp www.conf.default www.conf
#然后修改所属用户,因为我安装nginx的时候已经新建了www用户和用户组
user = www
group = www
#解决问题三 把php配制文件拷贝到安装时候的目录里面
cp php.ini-production /usr/local/php/etc/php.ini
5、启动php-fpm
/usr/local/php/sbin/php-fpm
6、关闭、重启php-fpm
pkill php-fpm
7、写在后面,当然上面都是比较顺利的时候才能一下子安装成功,有可能会有一些报错,比如:
checking for cURL 7.15.5 or greater... configure: error: cURL version 7.15.5 or later is required to compile php with cURL support
解决方案:yum -y install curl-devel
configure: error: Please reinstall the libzip distribution
解决方案:
######## 需要安libzip-1.5.1库 ########
[root@localhost ~]# wget https://libzip.org/download/libzip-1.5.1.tar.gz
[root@localhost ~]# tar -zxf libzip-1.5.1.tar.gz
[root@localhost ~]# cd libzip-1.5.1
[root@localhost ~]# mkdir build
[root@localhost ~]# cd build
[root@localhost ~]# cmake .. (#注意:cmake后面有两个小数点)
[root@localhost ~]# make -j4
[root@localhost ~]# make test
[root@localhost ~]# make install
######## 这里可能还会有个问题 cmake 没有安装,也有可能安装的不是新的版也不能用########
[root@localhost ~]# yum install cmake
######## 到此以后可能还会有如下报错:不是新的版也不能用########
error: cmake: undefined symbol: archive_write_add_filter_zstd 错误。
该错误解决办法两种:
第一种:
安装 libarchive
yum install libarchive
第二种: 安装低版本或者高版本的 cmake
1.卸载cmake程序
yum remove cmake 或 rpm -e cmake
2.重新安装cmake,
网址:https://cmake.org/download/
3.创建软连接
ln -s /xx-path/cmake /usr/bin/cmake
configure: error: off_t undefined; check your library configuratio
解决方案:
vim /etc/ld.so.conf
#添加如下几行
/usr/local/lib64
/usr/local/lib
/usr/lib
/usr/lib64
#保存退出
:wq
ldconfig -v # 使之生效