CentOS7.2编译安装PHP7.2.3之史上最详细步骤。
首先,我们的CentOS版本信息如下:

开始我们的编译。
第一步:
将php安装包安装到/usr/src目录下。
cd /usr/src && wget http://cn2.php.net/distributions/php-7.2.3.tar.gz

第二步:
加压这个压缩包
tar -xzxvf php-7.2..tar.gz

第三步:
进入压缩后的文件目录。安装如下文件,如果已经安装也没问题,系统会提示已经安装,nothing to do。
cd php-7.2./
yum install gcc
yum install libxml2-devel
yum install libxml2-devel




第四步:
执行以下命令(编译的配置参数)
'./configure' '--prefix=/usr/local/php' '--with-pdo-pgsql' '--with-zlib-dir' '--with-freetype-dir' '--enable-mbstring' '--with-libxml-dir=/usr' '--enable-soap' '--enable-calendar' '--with-curl' '--with-mcrypt' '--with-gd' '--with-pgsql' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-zlib' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-pcntl' '--enable-mbregex' '--enable-exif' '--enable-bcmath' '--with-mhash' '--enable-zip' '--with-pcre-regex' '--with-pdo-mysql' '--with-mysqli' '--with-jpeg-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--with-openssl' '--with-fpm-user=www-data' '--with-fpm-group=www-data' '--with-libdir=/lib/x86_64-linux-gnu/' '--enable-ftp' '--with-gettext' '--with-xmlrpc' '--with-xsl' '--enable-opcache' '--enable-fpm' '--with-iconv' '--with-xpm-dir=/usr'

最后一行会出现错误提示:configure: error: Cannot find OpenSSL's <evp.h>
未发现openssl,我们安装就好。
yum install openssl openssl-devel
出现Complete!则表示安装完成
继续以上命令出现错误提示: configure: error: Please reinstall the BZip2 distribution
安装即可
yum install bzip2-devel.x86_64 -y
仔细看还有错误:configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).
安装即可
wget http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
tar -zxvf bison-2.4..tar.gz
cd bison-2.4./
./configure
提示错误:configure: error: GNU M4 1.4 is required
未安装m4
yum install m4
再重新编译上面的make clean && make install
安装完成后切入php目录
继续配置checking发现错误:configure: WARNING: unrecognized options: --with-mcrypt, --enable-gd-native-ttf
这个是由于php7.2是 17年11月份发行的,在php7.1时,
官方就开始建议用openssl_*系列函数代替Mcrypt_*系列的函数。
所以我们删除这两项即可。
然后继续发现错误:configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
解决:
wget https://sourceforge.net/projects/re2c/files/0.16/re2c-0.16.tar.gz
tar zxf re2c-0.16.tar.gz && cd re2c-0.16
./configure
make && make install
如果出现错误:configure: error: C++ compiler cannot create executables
就是gcc扩展没装全。
yum install gcc gcc-c++ gcc-g77
至此,再测试,发现已无报错。
当你进行 make时候发现:No targets specified and no makefile found. Stop.
则需要进行一下方案解决:
#拿到安装包
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.6.tar.gz
#解压
tar zxvf ncurses-5.6.tar.gz
#指向php的路径
./configure -prefix=/usr/src/php-7.2.
#开始make
make && make install
此时,我们再去/usr/src/php-7.2.3目录下make && make install。
这时候 我们输入php -v可以看到php的版本。

但是,我们一般还需要做一个配置。让php成为一个服务。并且开机自启。
但是却发现php-fpm不知道咋哪里。 那我们就应该安装php-fpm.
#找找php-fpm
find / -name php-fpm.conf
#没找到就安装
yum install php-fpm php-mysql

做如下的配置
mkdir -p /usr/local/php/etc/
touch /usr/local/php/etc/php-fpm.conf
cp /etc/php-fpm.conf /usr/local/php/etc/php-fpm.conf
同样道理
mkdir -p /usr/local/php/etc/php-fpm.d/
touch /usr/local/php/etc/php-fpm.d/www.conf
cp /etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf
继续
mkdir -p /etc/init.d
touch /etc/init.d/php-fpm
cp /usr/src/php-7.2./sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm
启动服务并查看
service php-fpm start
ps aux | grep php-fpm
此时我们的php编译就大功告成。
如下:

----------------- 如果这篇文章帮到了你,或者遇到什么问题,可以在以下留言交流。
CentOS7.2编译安装PHP7.2.3之史上最详细步骤。的更多相关文章
- centos7.6编译安装php7.2.11及redis/memcached/rabbitmq/openssl/curl等常见扩展
centos7.6编译安装php7..11及redis/memcached/rabbitmq/openssl/curl等常见扩展 获取Php的编译参数方法: [root@eus-api-cms-bac ...
- centos7下编译安装php-7.0.15(PHP-FPM)
centos7下编译安装php-7.0.15(PHP-FPM) 一.下载php7源码包 http://php.net/downloads.php 如:php-7.0.15.tar.gz 二.安装所需依 ...
- Linux Centos7.2 编译安装PHP7.0.2
操作环境: 1.系统:Centos7.2 2.服务:Nginx 1.下载PHP7.0.2的安装包解压,编译,安装: $ cd /usr/src/ $ wget http://cn2.php.net/d ...
- Centos7.2 编译安装PHP7
PHP7,编译安装: 环境:centos7.2 (注意:因为我用的nginx, 此配置参数没有考虑到apache,所以不合适需要用apache的朋友照搬过去运行,但是可以参考.) 直接下载P ...
- centos7下编译安装php7.3
一.下载php7.3的源码 https://www.php.net/downloads.php 下载php-7.3.4.tar.gz 二.安装gcc,gcc-c++,kernel-devel yum ...
- centos7.6编译安装php7.3
刚开始搞环境装过集成,发现不好用,后来自己编译安装一些扩展啊设置的都很容易找到. 以前装过5.6.7.0发现不一样,最近出了7.3是php5速度的三倍,那有必要升级一下列. 由于之前安装过老版本,依赖 ...
- Centos7源码编译安装PHP7.2(生产环境)
安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...
- centos7.6环境编译安装php-7.2.24修复最新 CVE-2019-11043 漏洞
先编译安装php-7.2.24,然后编译安装扩展 主版本地址地址:https://www.php.net/distributions/php-7.2.24.tar.gz # 编译 php-7.2.24 ...
- Centos7 编译安装PHP7
Centos7 编译安装PHP7 编译安装的方式可以让组件等设置更加合理,但需要你对PHP的代码及各种配置非常的熟悉,以下为大致的安装流程,大家可以参考 1.下载编译工具 yum groupinsta ...
随机推荐
- 关于 IO的同步异步间要描述
IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你打开 ...
- Html5本地存储和本地数据库
一个网站如何能在客户的浏览器存储更多的数据呢? 在Html4的时代在浏览器端存储点网站个性化的数据,尤其是用户浏览器的痕迹,用户的相关数据等一般只能存储在Cookie中,但是大多是浏览器对于Cooki ...
- Linux下配置APACHE支持PHP环境
编辑 /usr/local/apache2/conf/httpd.conf 文件时要注意: 找到: AddType application/x-compress .Z AddType applicat ...
- H5 拖拽,一个函数搞定,直接指定对象设置可拖拽
页面上,弹个小窗体,想让它可以拖拽,又不想 加载一堆js,就简单的能让他可以拖动? 嗯,下面有这样一个函数,调用下就好了! 1. 先来说说 H5的 拖拽 在 HTML5 中,拖放是标准的一部分,任何元 ...
- Node.js 基础介绍(一)
Node.js 学习笔记一) 简单介绍--名称 Node.js,平时听到有好几种叫法,node .Node.js.nodejs ,但是比较正式的称呼还是"Node.js",由于它是 ...
- ASP.NET Core的身份认证框架IdentityServer4--(4)添加第三方快捷登录
添加对外部认证的支持 接下来我们将添加对外部认证的支持.这非常简单,因为你真正需要的是一个兼容ASP.NET Core的认证处理程序. ASP.NET Core本身也支持Google,Facebook ...
- vue.js 与iview官网
vue.js https://cn.vuejs.org/v2/guide/instance.html#生命周期图示 iview https://www.iviewui.com/components/t ...
- 一个简单的定时表达式(HH:mm:ss)解析
前言 为客户开发了一个日志监控程序,监听各频道是否正常工作.其中有一个功能是这样的,当所有频道正常运行一段时间后,语音提示值班人员系统运行正常.一开始,想法比较简单,设置了一个变量,在线程不断轮询的过 ...
- LNMP Yii2 验证码不显示问题最终解决方案
首先,本地使用OK! 然后,新配置的LNMP环境,验证码一直显示不出来,看了Yii2的验证码存在session里,怀疑是session有问题. 在测试其他页面的时候,发现:session_start( ...
- java中错误日志的用法
1.maven包:将下面的maven加入到pom.xml <!-- https://mvnrepository.com/artifact/log4j/log4j --><depend ...