About php Extensions

来源:互联网 发布:c语言temp 编辑:程序博客网 时间:2024/06/05 19:28

转自:http://www.linuxchina.net/?p=1361

编译安装php,php会生成很多扩展,这些扩展分为动态和静态编译两种。

动态编译会自动生成so文件,并保存在:$php/lib/php/extensions/no-debug-non-zts-20060613/,这些so文件包含了php所能调用的函数库,当代码中需要调用这些函数库时php会动态的加载这些so文件。

静态编译指在编译安装php时并不会自动生成这些so文件,而是将这些so文件中的函数库静态的编译进php中,这样代码在调用时也会调用到。

动态编译与静态编译的区别:

动态编译时每一个php扩展都会生成自己的so文件,代码调用这些函数库时会动态的加载相应的so文件,这样可以优化代码执行时间和控制php内存的大小;而静态编译虽然也能使代码调用到相应的函数库,但在高并发的情况下,全部加载php的函数库,会带来更多的内存消耗,影响服务器性能。

动态编译与静态编译的实现:

动态编译需要在配置时指定参数shared,例如:
-with-zlib=shared -with-pdo-mysql=shared,/usr/local/mysql
静态编译则不需要指定参数shared,例:-with-zlib

0 0
原创粉丝点击