About php Extensions

WBOY
WBOYoriginal
2016-08-08 09:21:091128parcourir

转自: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

以上就介绍了About php Extensions,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn