PHP Extensions(PHP扩展):在PHP源码内部,为了与Zend Extensions(Zend扩展)命名上的区分,PHP Extensions(PHP扩展)又称为PHP Modules(PHP模块)。如果我们读到“extension
”关键字的时候,我们应该首先想到的是Zend Extensions(Zend扩展),如果我们读到“module
”关键字的时候,我们应该首先想到的是PHP Extensions(PHP扩展)。
PHP Extensions(PHP扩展)一般作为“extension=pib.so
”行的形式加载到不同的ini文件(主要是php.ini)文件中,Zend Extensions(Zend扩展)作为“zend_extension=pib.so
”行的形式加载到不同的ini文件(主要是 php.ini)文件中。Zend Extensions(Zend扩展)比PHP Extensions(PHP扩展)更复杂,因为它们有更多的钩子,而且它们更接近Zend引擎及其虚拟机(整个PHP源代码中最复杂的部分)。
PHP Extensions(PHP扩展)分为PHP Core Extensions(核心扩展)、PHP Bundled Extensions(绑定扩展)、PHP External Extensions(外部扩展)、PECL(PHP Extension Community Library)。
#列出已安装的PHP Extensions(PHP Modules)
php --modules或php -m
PHP Core Extensions(PHP核心扩展):PHP Core(内核)的一部分,无需安装,也不能通过编译选项将其排除。
PHP Bundled Extensions(PHP绑定扩展):绑定在 PHP 发行包中。
PHP External Extensions(PHP外部扩展):绑定在 PHP 发行包中,但是需要编译它们才能使用,并且可能需要额外的扩展库。
PECL(PHP Extension Community Library):PHP的底层扩展,大多数使用C语言编写,比如memcached、redis。
PEAR(PHP Extension and Application Repository):PHP的上层扩展,大多数使用PHP语言编写,目前已被Composer替代。
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/experience/phpe/3717.html