首先,我们的CentOS版本信息如下:

开始我们的编译。

第一步:

将php安装包安装到/usr/src目录下。

cd /usr/src && wget http://cn2.php.net/distributions/php-7.2.3.tar.gz

第二步:

加压这个压缩包

tar -xzxvf php-7.2.3.tar.gz

第三步:

进入压缩后的文件目录。安装如下文件,如果已经安装也没问题,系统会提示已经安装,nothing to do。

cd php-7.2.3/

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

未发现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.1.tar.gz

cd bison-2.4.1/./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.3#开始makemake && make install

此时,我们再去/usr/src/php-7.2.3目录下make && make install。

这时候 我们输入php -v可以看到php的版本。

但是,我们一般还需要做一个配置。让php成为一个服务。并且开机自启。

但是却发现php-fpm不知道咋哪里。 那我们就应该安装php-fpm.

#找找php-fpmfind / -name php-fpm.conf

#没找到就安装yum install php-fpm php-mysql

做如下的配置

mkdir -p /usr/local/php/etc/

touch /usr/local/php/etc/php-fpm.confcp /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.confcp /etc/php-fpm.d/www.conf /usr/local/php/etc/php-fpm.d/www.conf

继续

mkdir -p /etc/init.dtouch /etc/init.d/php-fpmcp /usr/src/php-7.2.3/sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpm

启动服务并查看

service php-fpm startps aux | grep php-fpm

此时我们的php编译就大功告成。

如下:

-----------------  如果这篇文章帮到了你,或者遇到什么问题,可以在以下留言交流。

centos7.2编译php,CentOS7.2编译安装PHP7.2.3之史上最详细步骤。相关推荐

  1. 史上最详细的LXR安装介绍

    史上最详细的LXR安装介绍(Ubuntu14.04+Apache2.4.7) 简介: LXR (Linux Cross Reference)是一个通过交叉索引方便用户查看项目源代码的工具.项目地址:h ...

  2. 全网史上最详细全面的Linux下安装mysql客户端服务端

    全网史上最详细全面的Linux下安装mysql客户端服务端Linux下安装mysql 1.上传MySQL5.6的tar包 创建目录: mkdir /usr/local/src/mysql5.6 上传: ...

  3. 史上最详细版Centos6安装详细教程

    镜像CentOS-6.8-x86_64-bin-DVD1.ISO 将下载好的镜像上传到服务器,并选择该镜像(详情请看上篇exsi镜像上传文章) 一.安装开始 开机选择第一项 这里询问我们是否要对光盘进 ...

  4. 不仅有史上最详细Docker 安装Minio Client,还附带解决如何设置永久访问和永久下载链接!!(详图)绝对值得收藏的哈!!!!

    背景: 这两天在整理知识点,然后在学习Minio,一开始遇到更新,整了我不少时间,之前用的太久了,改了不少东西.用了之后发现不知道怎么设置成永久访问,就出了这篇文章. 史上最详细Docker安装最新版 ...

  5. 史上最详细Docker安装最新版Minio 带详解 绝对值得收藏!!! 让我们一起学会使用minio搭建属于自己的文件服务器!!走上白嫖之路!解决启动了但是浏览器访问不了的原因

    让我们一起学会使用minio搭建属于自己的文件服务器!!走上白嫖之路! WARNING: Console endpoint is listening on a dynamic port (34451) ...

  6. ubuntu boot空间不足_windows10安装ubuntu双系统教程(绝对史上最详细)

    windows10安装ubuntu双系统教程(绝对史上最详细) 快车道: Windows10安装ubuntu16.04双系统教程 Windows10安装ubuntu18.04双系统教程 一. 先搞清楚 ...

  7. Linux操作系统——Xshell和Xftp 下载、安装、使用教程(史上最全最详细)

    Linux操作系统--Xshell和Xftp 下载.安装.使用教程(史上最全最详细) 本文将带你手把手的下载.安装并使用Xshell和Xftp软件 文章目录 Linux操作系统--Xshell和Xft ...

  8. Android Studio的安装,史上最详细(超多图)!!

    android studio安装教程,史上最详细(超多图)!! 安装android studio,史上最详细(超多图)!! 欢迎前来观看,感觉有用就点波关注吧! android studio的安装(补 ...

  9. 史上最详细、最良心的MySQL 5.7 + Navicat 下载安装教程(附安装包)

    这怕是史上最详细,最良心的MySQL5.7下载安装教程了,文末还有Navicat下载安装加破解的教程. 一.下载 1.可以去官网下载:https://dev.mysql.com/downloads/m ...

最新文章

  1. 苏教版四下用计算机计算,苏教版四年级下册数学单元测试-4.用计算器计算 (含答案)...
  2. 利用Mircosoft URLRewriter.dll实现asp.net页面伪静态
  3. 【大讲堂第二期 | 第二场课程预告】全世界最出名的互联网公司的小伙伴都在这里!...
  4. 视频监控技术 迎来网络“多媒体”时代
  5. Android版本Oppo电视,OPPO 智能电视 R1
  6. 文件操作命令(replace)
  7. 拓端tecdat|python算法对音频信号处理Sonification :Gauss-Seidel迭代算法
  8. python curl invalid syntax_将CURL Post转换为Python请求失败
  9. 60、弱电网络管理入门与基础技术
  10. CleanMyPC中文版切换教程(专注于电脑缓存文件清理的工具)
  11. Involution Inverting the Inherence of Convolution for Visual Recognition
  12. 在AndroidStudio中使用ARCore
  13. 什么是bug?bug的分类
  14. mysql 按条件join_MySQL Join竟然可以这么玩?根据条件进行复制
  15. 如何在地图上显示多个红包商店 vue
  16. Applilet2 for V850ES/Fx3生成代码
  17. 正确涂CPU硅脂的方法要这样
  18. win10系统无法正常打开便签功能的解决方法
  19. SylixOS应用层中访问串口设备
  20. CMS识别 -- whatweb

热门文章

  1. HDU 1158 Employment Planning【DP】
  2. 【转】并查集MST题集
  3. 解决iSlider的一些问题(滑动组件)
  4. Spring Boot统一异常处理实践
  5. 【白皮书分享】2020用户生命周期运营白皮书2.0.pdf(附下载链接)
  6. python install causes ModuleNotFoundError: No module named ‘_swigfaiss‘
  7. 测试需求分析第一部分
  8. make -C $(KDIR) M=$(PWD) modules
  9. dmp导入数据 oracle_一文看懂oracle12c数据库跨小版本迁移
  10. 运输层课后第33题解析