前置条件

  • autoconf:2.59+
  • automake:1.4+
  • libtool:1.4.x(除了1.4.2)
  • re2c:0.13.4+
  • bison:建议1.281.35 或 1.75
  • 依赖的库
yum install gcc gcc-c++ libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib \
zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel curl curl-devel openssl openssl-devel libzip libzip-devel \
libwebp libwebp-devel
  • 如果需要安装libzip扩展,需要安装libzip libzip-devel库,版本>=0.11,yum仓库自带的版本比较低,需要手动编译libzip
  • 手动编译libzip需要先安装cmake,libzip版本选择跟cmake适配的版本,这里选择1.2.0 libzip版本,libzip手动编译默认安装在/usr/local目录下

环境检查

  • 线程安全版本:--enable-maintainer-zts
  • 多进程方式使用非线程安全版本即可
[root@wadeyu php-7.3.4]# ./configure --prefix=/usr/local/php7.3 --with-config-file-path=/usr/local/php7.3/etc \
--with-mysqli=mysqlnd --with-iconv-dir=/usr --with-gd --with-freetype-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-webp-dir=/usr \
--with-zlib --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring \
--with-openssl --with-mhash --enable-pcntl --enable-sockets --enable-soap --without-pear --with-libzip=/usr/local --with-bz2 --enable-calendar \
--enable-ftp --enable-ctype --enable-exif --disable-ipv6 --with-sqlite3 --enable-pdo --with-pdo-mysql=mysqlnd --enable-phar --with-curl --with-tsrm-pthreads

编译安装

  • 编译需要比较长的时间,不同硬件配置的机器,编译时间不一样
  • 我的树莓派1G4核的配置,编译了差不多1个半小时

    php7.3源码编译的更多相关文章

    1. Centos7源码编译安装PHP7.2(生产环境)

      安装PHP依赖包,否则在编译的过程中可能会出现各种报错 # Centos 安装epel-release源并将系统包更新到最新版本 $ yum install epel-release-y $ yum ...

    2. Centos 7源码编译安装 php7.1 之生产篇

      Centos 7源码编译安装 php7.1 之生产篇 Published 2017年4月30日 by Node Cloud 介绍: 久闻php7的速度以及性能那可是比php5系列的任何一版本都要快,具 ...

    3. CentOS7.6源码编译安装PHP 7.3.8

      安装步骤 PHP官网下载链接:https://www.php.net/downloads.php 1. 使用wget命令下载源码安装包 wget https://www.php.net/distrib ...

    4. 全方位深度剖析PHP7底层源码(已完结)

      第1章 课程介绍本章主要介绍课程要讲的知识点,以及课程要求等. 第2章 PHP7的新特性本章主要介绍PHP7的新特性,做基准测试,与PHP5对比验证PHP7的性能提升程度,引出对PHP7源码学习的必要 ...

    5. Httpd服务进阶知识-LAMP源码编译安装

      Httpd服务进阶知识-LAMP源码编译安装 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家都知道,动态资源交给fastcgi程序处理,静态资源依旧由httpd服务器处理  ...

    6. LAMP源码编译安装

      php加速器 XCache 快速而且稳定的PHP opcode缓存,经过严格测试且被大量用于生产环境. 项目地址:http://xcache.lighttpd.net/,收录EPEL源 实现XCach ...

    7. PHP 的源码编译安装

      PHP 架构和安装扩展的几种方式 PHP 三大模块: SAPI:接受并处理请求. Zend Engine:PHP 的核心,负责分析 PHP 代码并转为 opcode,然后在 Zend VM 虚拟机上执 ...

    8. LAMP源码编译

      ---恢复内容开始--- 1.LAMP源码编译的基础环境 安装组建包:yum groupinstall "Development Tools" "Development ...

    9. 源码编译搭建LNMP环境

      LNMP源码编译 1.LNMP介绍 LNMP=Linux Nginx Mysql PHP Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器.Ng ...

    随机推荐

    1. crontab安装及使用

      linux下crontab安装yum -y install crontabs service crond start     //启动服务service crond stop      //关闭服务s ...

    2. vue-cli中使用rem,vue自适应

      2018年04月27日 09:25:34 董小礼 阅读数:4196    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_39588818/ar ...

    3. 6-Java-C(无穷分数)

      题目描述: 无穷的分数,有时会趋向于固定的数字. 请计算[图1.jpg]所示的无穷分数,要求四舍五入,精确到小数点后5位,小数位不足的补0. 请填写该浮点数,不能填写任何多余的内容. 正确算法: 此题 ...

    4. mysql.connector.errors.IntegrityError: 1048 (23000): Column 'request_url' cannot be null

      箭头指向的2的方向 少了一个request_url的值 调试: 直接 执行sql语句 是没问题的, 这样就知道问题是出在代码的逻辑 处理了: INSERT INTO response_time (nu ...

    5. x264介绍

      x264 编辑   H.264是ITU(International Telecommunication Unite 国际通信联盟)和MPEG(Motion Picture Experts Group ...

    6. 尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框

      尝试用React写几个通用组件 - 带搜索功能的下拉列表,开关切换按钮,弹出框 近期正在逐步摸索学习React的用法,尝试着写几个通用型的组件,整体项目还是根据webpack+react+css-me ...

    7. 用node写个简单的静态服务器

      直接上代码吧,我把它命名为 app.js, 只要在该文件所在目录下,控制台运行 node app.js 即可启动一个本地服务器了. /** * 服务器 * Author jervy * Date */ ...

    8. 笔试算法题(12):整数的string到int转换 & 两个栈实现队列

      出题:将输入的表示整数的字符串转变为对应的整数值: 分析: 每当右边增加一位,说明之前的sum应该高一个数量级,所以*10.由于这两个实现仅仅考虑正规的.正整数输入,所以需要一个Wrapper函数,其 ...

    9. Django之模板引擎(母版)

      Django之模板引擎(母版) 母版:存放所有页面的基本信息,基本样式 子班:继承母版 自定义当前页面私有的样式信息 母版的样式: {% block xxx(名称) %} xxxxxxx(数据) {% ...

    10. Python中接收用户的输入

      一.如何去接收用户的输入?使用函数 input() 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用. name = in ...