TODO:macOS编译PHP7.1

本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下。

1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.gz

2.解压php-7.1.0.tar.gz包

3.创建配置

./configure �Cprefix=/usr/local/php7 �Cwith-apxs=/usr/sbin/apxs �Cenable-fpm �Cwith-fpm-user=www �Cwith-fpm-group=www �Cwith-mysqli �Cwith-pdo-mysql �Cwith-iconv-dir �Cwith-freetype-dir �Cwith-jpeg-dir �Cwith-png-dir �Cwith-zlib �Cwith-libxml-dir=/usr �Cenable-xml �Cdisable-rpath �Cenable-bcmath �Cenable-shmop �Cenable-sysvsem �Cenable-inline-optimization �Cwith-curl �Cenable-mbregex �Cenable-mbstring �Cwith-mcrypt �Cenable-ftp �Cwith-gd �Cenable-gd-native-ttf �Cwith-openssl �Cwith-mhash �Cenable-pcntl �Cenable-sockets �Cwith-xmlrpc �Cenable-zip �Cenable-soap �Cwithout-pear �Cwith-gettext �Cdisable-fileinfo �Cenable-maintainer-zts

4.编译代码

make

make test

5.安装php

make install

6.顺利的花这样就把php7.1编译好了,把php7对应的执行文件拷贝到/usr/bin/ 即可在终端使用了

sudo cp /usr/local/php7/bin/ph* /usr/bin/

7.编译步骤是很简单,但是编译过程难免会遇到一些问题,以下是小编遇到的问题总结

8.安装autoconf

9.openssl版本问题

configure: error: OpenSSL version 1.0.1 or greater required.

安装更高版本的openssl或者下载openssl源码来编译,简单的方法就是使用brew来安装

10.Cannot find libz,这个需要安装xcode-select,在终端输入xcode-select �Cinstall

11.Cannot locate header file libintl.h

安装gettext

编辑php源码configure文件

改成

12.mcrypt.h not found. Please reinstall libmcrypt.

安装libmcrypt

13. 基本就是遇到这些情况了,还有一种使用php7的方法就是安装MAMP,是商业软件存在试用期限制,可以把安装好的php7文件取出来使用,小编试过,可以正常使用。

wxgzh:ludong86

macos 编译php,TODO:macOS编译PHP7.1相关推荐

  1. 编译安装nginx1.9.7+php7.0.0服务器环境

    编译安装nginx1.9.7+php7.0.0服务器环境 一直以来我都通过网上的一些材料去搭建lnmp环境,通过直接yum安装nginx mysql php等软件. 但是为了原生态的编译安装最新的软件 ...

  2. CentOS8 源码编译安装 lamp环境 (apache24 + php7.3 + mysql57)

    CentOS8 安装 apache24 + php7.3 + mysql57 前期准备: close selinux (关闭SELinux) vi /etc/selinux/config 查找 : S ...

  3. CentOS6.9编译安装Sphinx并使用php7的sphinx扩展实现全文搜索

    本篇笔记记录了CentOS6.9编译安装Sphinx,编译安装php-sphinx扩展,并使用php7的sphinx扩展实现全文搜索的过程 nginx+mysql+php安装请参考以下笔记: Cent ...

  4. java预编译啥意思_java预编译 java jdbc 预编译语句和普通语句的区别

    java中什么是预编译precompile?总有一天你恍然大悟,父母是你花心思,花时间最少,却最爱你的人. 什么是预编译?起什么作用的? . 在java中如何实现预编译?祝你幸福!这句话真俗.小编会祝 ...

  5. Java编译分类:前端编译和后端编译

    ava程序代码需要编译后才能在虚拟机中运行,编译涉及到非常多的知识层面:编译原理.语言规范.虚拟机规范.本地机器码优化等:了解编译过程有利于了解整个Java运行机制,不仅可以使得我们编写出更优秀的代码 ...

  6. 如何反编译,防止反编译,常见问题总结

    本文对如何反编译,防止反编译,和常遇到的问题做了个总结,并略有修改. 资源来自:http://blog.csdn.net/sunboy_2050/article/details/6727581 htt ...

  7. 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )

    文章目录 一.在 MyASTTransformation#visit 方法中进行方法注入 1.使用 new AstBuilder().buildFromSpec 进行方法注入 2.使用 new Ast ...

  8. 【Groovy】编译时元编程 ( 编译时方法拦截 | 在 MyASTTransformation#visit 方法中进行方法拦截 )

    文章目录 一.在 MyASTTransformation#visit 方法中进行方法拦截 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groovy 2.ASTTr ...

  9. 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )

    文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...

最新文章

  1. 【错误记录】编译 ijkplayer 报错 (fatal error: ijksoundtouch/ijksoundtouch_wrap.h: No such file or directory )
  2. 74 计算机图形学开源处理库
  3. .NET6 新功能和新生态
  4. html5中行内样式写法,react怎么写行内样式?
  5. 未来客:人人都可以构建软件或系统
  6. Python无参装饰器
  7. 12.1、自定义Condition
  8. css 设置表格右边有图片_我写CSS常用的方法
  9. Python取出SQL表单中的字段名
  10. 慕课软件质量保证与测试(第二章.课后作业)
  11. fiddler抓包史上最完整细致的步骤(抓包微信小程序解决无法Iphone无法上网)
  12. flutter 图形验证码
  13. 论文速读之QUALITY-GATED CONVOLUTIONAL LSTM FOR ENHANCING COMPRESSED VIDEO
  14. Siemens TIA14 安装问题汇总
  15. vue 多层子组件调用父组件的方法(传参方式bind方法 或 注入 provide() {}方法)
  16. 微软云的一些说明(整理)
  17. Hadoop的三种模式(单机模式,伪分布式,完全分布式)以及集群的搭建
  18. MES 工厂建模以及对工厂功能的理解
  19. 触摸按键设计layout
  20. AES/SM3/CBC C++

热门文章

  1. 【EXLIBRIS】纸版书目整理 -- 大书架 下 【64 种】【103 册】
  2. 算法高级(30)-外卖凑单算法-为什么每次点外卖你怎么都凑不够那碗卤肉饭呢?
  3. 侏罗纪世界手游显示无法登陆到服务器,《侏罗纪世界手游》不能玩 解决攻略...
  4. linux用户和组基础
  5. Impala之加载HBase数据
  6. [20150518]关于块转储问题2.txt
  7. ubuntu 13.04安装注意事项和ROOT密码设置
  8. 《SEO字典》解读meta robots标签
  9. 美团暑期日常实习前端面试
  10. 邮件退订_如何方便地退订邮件列表