编译php ./configure命令enable和with有什么区别

Posted 牛顿的小脑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译php ./configure命令enable和with有什么区别相关的知识,希望对你有一定的参考价值。

原文: https://segmentfault.com/q/1010000009174725

 

--------------------------------------------------------------------------------------------------------------------------------------

 

  1. enable 是启用 php 源码包自带,但是默认不启用的扩展,比如 ftp 和 exif 扩展。with 是指定扩展依赖的资源库的位置,如果是默认位置,就可以留空。

  2. php 的扩展分为静态编译和动态编译两种,静态编译就是随着PHP的源码一起编译安装,也就是 --enable 和 --with 启用的扩展。动态编译就是在一个已经可以使用的 PHP 环境下,使用 phpize 命令来给 php 增加扩展的方式,这种方式就是生成的 so 文件。所以想要把扩展编译进 php 内核,就需要和 php 一起编译安装。

  3. 是的,php源码包ext目录下的就是官方默认支持的扩展,还有一部分就是 pecl 库里的扩展,pecl 的一部分扩展也是官方支持的,另一部分是第三方开发者支持的。

  4. 把扩展跟随php一起编译安装,也就是 configure 命令

以上是关于编译php ./configure命令enable和with有什么区别的主要内容,如果未能解决你的问题,请参考以下文章

源码编译php-5 报错整理

php-7.1编译记录

源码编译安装PHP以及相关扩展的安装

modern php enable zend opcache

PHP源码编译详解

编译安装 php 5.4.11