编译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 命令

原文地址:https://www.cnblogs.com/oxspirt/p/8855451.html