2017/03/30

一次php7源码安装


1、安装PHP前,需要安装编译环境和PHP的相关依赖。

autoconf autoconf是 用来产生configure文件的 .configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生合适的 Makefile,从而可以使你的源代码能在不同的操作系统平台上被编译出来。 详细查看:http://www.laruence.com/2009/11/18/1154.html

libiconv 字符集转换库,给予C使用 libmcrypt 加密库,给予C使用 mcrypt 使用php mcrypt 前必须先安装Libmcrypt,封装Libmcrypt接口给予php调用 mhash mhash是基于离散数学原理的不可逆向的php加密方式扩展库,mhash为PHP提供了多种哈希算法,如MD5,SHA1,GOST 等。 freetype freetype是一个完全开源的、可扩展、可定制且可移植的字体引擎 curl curl是利用URL语法在命令行方式下工作的开源文件传输工具 pcre pcre(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库 jemalloc 内存管理,性能方面比原生的 malloc 高

icu4c ICU4C是ICU在C/C++平台下的版本, ICU(International Component for Unicode)是基于"IBM公共许可证"的,与开源组织合作研究的, 用于支持软件国际化的开源项目。ICU4C提供了C/C++平台强大的国际化开发能力,软件开发者几乎可以使用ICU4C解决任何国际化的问题,根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C提供了强大的BIDI算法,对阿拉伯语等BIDI语言提供了完善的支持。 详细查看:https://www.ibm.com/developerworks/cn/opensource/os-icu4c/


2、前往php官网选择下载php7源码 http://php.net/downloads.php

安装 jemalloc 时最后一步会进行 ln -sf libjemalloc.so.2 lib/libjemalloc.so,如果我们是在挂载目录下进行则会报错 ln: failed to create symbolic link ‘lib/libjemalloc.so’: Operation not supported


3、解压下载回来的源码,可以通过 ./configure --help 来查看可以配置的参数