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

./configure --enable-curl

./configure --with-curl

1.enable和with参数命令有什么区别?

2.如何将扩展编译进php,而不是以.so动态扩展形式存在?

更新

3.哪些扩展是php官方支持的呢?是php源码包ext目录下的就是php官方支持的么?可以编译进php的?

4.使用什么命令将官方支持的扩展编译进php?

阅读 5.8k
2 个回答
  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 命令

第一个问题 enable和with都是编译时候的一些选项,而enable更多的情况下是启用某个扩展http://php.net/manual/en/conf...

第二个问题 php官方支持的扩展可以在源码编译的时候编译进php,而第三方的扩展则必须以so的形式引入

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏