一、下载php7.2源码包并解压
确定源码目录(http://php.net/distributions)
wget http://xxx.oss-cn-beijing.aliyuncs.com/oss/admin/php-7.2.17.tar.gz
tar -zxvf php-7.2.17.tar.gz
pwd
官方下载源码压缩包https://www.php.net/distributions/php-7.2.17.tar.gz
二、安装依赖
apt-get install -y build-essential libtool libpcre3 libpcre3-dev zlib1g-dev
openssl apt-utils libbz2-dev autoconf automake libtool re2c
bison flex libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg-dev
libfreetype6-dev libsqlite3-dev oniguruma-dev
一般编译程序依赖包有两种,带dev/devel后缀的包:libbz2-dev 不带后缀的包:libbz2, 带后缀的一般是和开发编译有关的,不带后缀的一般是和应用程序支持有关,如果再编译过程中报错缺少依赖,可以试试把两种依赖包都装上
三、准备安装目录
mkdir -p /home/www/php/bin
/home/www/php/sbin
/home/www/php/include
/home/www/php/etc
/home/www/php/lib
/home/www/php/man
四、配置编译参数
cd php-7.2.17 //进入源码解压目录
./configure //配置编译参数和扩展
--prefix=/home/www/php
--exec-prefix=/home/www/php
--bindir=/home/www/php/bin
--sbindir=/home/www/php/sbin
--includedir=/home/www/php/include
--libdir=/home/www/php/lib
--mandir=/home/www/php/man
--enable-zip
--enable-pdo
--enable-inline-optimization
--enable-shared
--enable-xml
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-mbregex
--enable-mbstring
--enable-ftp
--enable-pcntl
--enable-sockets
--enable-fileinfo
--enable-filter
--enable-soap
--enable-session
--enable-fpm
--with-config-file-path=/home/www/php/etc
--with-mhash
--with-openssl
--with-bz2
--with-mysqli=mysqlnd
--with-pdo-mysql=mysqlnd
--with-iconv
--with-zlib
--with-xmlrpc
--with-gettext
--with-gd
--with-curl
--with-jpeg-dir
--with-freetype-dir
--with-fpm-user=www
--with-fpm-group=www
--with-pear=/home/www/php/bin
php 编译安装参数详解https://blog.csdn.net/mengzuchao/article/details/81912195
配置成功截图:
五、编译安装,配置路径
make //编译
make install //安装
....
cp sapi/fpm/init.d.php-fpm /home/www/php/bin/php-fpm //拷贝php-fpm运行程序到bin目录
cp /home/www/php/etc/php-fpm.conf.default /home/www/php/etc/php-fpm.conf //拷贝php-fpm配置
cp php.ini-production /home/www/php/etc/php.ini //拷贝生成php配置
....
编译成功截图:
六、服务启动
/home/www/php/bin/php-fpm start //启动fpm
/home/www/php/bin/php
七、可能遇到的问题
问题:编译失败,没有编译成功
解决:php安装编译需要gcc环境,所以请保证系统中安装了gcc编译环境
ubuntu16.04源码编译安装PHP7.2.5https://www.loyating.com/article/19
centos7 源码编译安装 phphttps://www.cnblogs.com/l5gw/p/10992958.html