PHP 常用扩展模块

php 扩展主要分为两类: php模块扩展和zend模块扩展。

php模块扩展

  • bz2
    用于透明地读写 bzip2(.bz2)压缩文件。

    安装--with-bz2[=DIR]

  • calendar
    日历

    安装--enable-calendar

  • ctype
    字符检测

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-ctype

  • curl
    PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器、使用各种协议。

    通过指定编译参数 −−with-curl=DIR 安装

  • datetime
    日期和时间

    日期和时间函数,默认编译安装,不可禁止。

  • DBA
    _

    通过指定编译参数 −−enable-dba 安装。该参数会默认自带 3 个参数,−−with-cdb−−enable-inifileinifile-flatfile,若要禁止,则需通过参数−−without-cdb=DIR−−disable-inifile−−disable-flatfile 实现。

  • dom
    dom扩展允许您使用php通过dom api在xml文档上进行操作。

    此扩展默认为启用,Document Object Model。编译时可通过下列选项禁用:−−disable-dom

  • enchant
    _

    通过指定编译参数 −−with-enchant=DIR 安装。 Include enchant support. GNU Aspell version 1.1.3 or higher required.
    一般需指定其目录,−−with-enchant=/usr
    Debian/Ubuntu 需安装 libenchant-dev, libpspell-dev 依赖包。
    Redhat/CentOS 需安装 enchant-devel, aspell-devel 依赖包。

  • exif
    通过使用 exif 扩展,你可以操作图像元数据。

    通过指定编译参数 −−enable-exif 安装。 Enable EXIF (metadata from images) support

  • fileinfo
    文件信息

    此扩展默认为启用,fileinfo support。编译时可通过下列选项禁用:−−disable-fileinfo
    注意:在内存比较小的机器上编译此扩展时可能会失败,因此内存加 SWAP 的容量小于 480MB 时就不要安装了。

  • filter
    文件信息

    此扩展默认为启用,input filter support。编译时可通过下列选项禁用:−−disable-filter
    另如果要给此扩展指定 PCRE 安装目录的话,则还有以下的编译参数。
    −−with-pcre-dir FILTER: pcre install prefix

  • ftp
    通过 FTP 协议访问文件服务器的客户端

    通过指定编译参数 −−enable-ftp 安装。Enable FTP support
    安装该扩展还有个参数 −−with-openssl-dir=DIR FTP: openssl install prefix,可不指定,则使用系统自带 openssl 库。

  • gd
    图像生成和处理

    通过指定编译参数 −−with-gd=DIR 安装。Include GD support. DIR is the GD library base install directory BUNDLED
    这是一个打包式的依赖,需要依赖如下安装包。
    −−with-webp-dir=DIR(PHP 7.0, 7.1 only)
    −−with-jpeg-dir=DIR
    −−with-png-dir=DIR
    −−with-zlib-dir=DIR
    −−with-xpm-dir=DIR
    −−with-freetype-dir=DIR
    −−enable-gd-native-ttf
    −−enable-gd-jis-conv
    PHP5.4、PHP5.5、PHP5.6 则还有个
    −−with-vpx-dir=DIR
    Debian/Ubuntu 需安装 libwebp-dev, libjpeg-dev, libpng-dev, libxpm-dev, libfreetype6-dev, libvpx-dev 依赖包。
    Redhat/CentOS 需安装 libwebp-devel, libjpeg-devel, libpng-devel, libXpm-devel, freetype-devel, libvpx-devel 依赖包。

  • gettext
    实现了NLS (Native Language Support) API,他可以用来国际化您的PHP程序.

    通过指定编译参数 −−with-gettext=DIR 安装。Include GNU gettext support
    Debian/Ubuntu 需安装 gettext 依赖包。
    Redhat/CentOS 需安装 gettext, gettext-devel 依赖包。

  • gmp
    使用GNU MP库处理任意长度的整数

    通过指定编译参数 −−with-gmp=DIR 安装。Include GNU MP support
    Debian/Ubuntu 需安装 libgmp-dev 依赖包。
    Redhat/CentOS 需安装 gmp-devel 依赖包。

  • hash
    (哈希)引擎

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-hash Disable hash support

  • iconv
    iconv 字符集转换功能的接口

    此扩展默认为启用,编译时可通过下列选项禁用:−−without-iconv=DIR Exclude iconv support

  • IMAP
    _

    −−with-imap=DIR Include IMAP support. DIR is the c-client install prefix
    −−with-kerberos=DIR IMAP: Include Kerberos support. DIR is the Kerberos install prefix
    −−with-imap-ssl=DIR IMAP: Include SSL support. DIR is the OpenSSL install prefix
    编译此选项时,PHP 需指定 libc-client.a 所在目录。

  • igbinary
    序列化和反序列化,效率要比Php自带的高.

  • json
    json 序列化相关操作

    自 PHP 5.2.0 起,JSON 扩展默认内置并编译进了 PHP。

  • libxml
    libxml 函数和常量与 SimpleXML, XSLT 以及 DOM 一起使用。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-libxml Disable LIBXML support
    −−with-libxml-dir=DIR LIBXML: libxml2 install prefix
    Debian/Ubuntu 需安装 libxml2, libxml2-dev 依赖包。
    Redhat/CentOS 需安装 libxml2, libxml2-devel 依赖包。

  • mbstring
    对于支持多字节字符的正则表达式函数

    通过指定编译参数 −−enable-mbstring 安装。 Enable multibyte string support
    −−disable-mbregex MBSTRING: Disable multibyte regex support
    −−disable-mbregex-backtrack MBSTRING: Disable multibyte regex backtrack check
    −−with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED
    −−with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. If DIR is not set, the bundled oniguruma will be used
    libmbflmbstring 是必要的。libmbfl 被捆绑到了 mbstring
    Debian/Ubuntu 需安装 libonig2, libonig-dev 依赖包。
    Redhat/CentOS 需安装 oniguruma, oniguruma-devel 依赖包。

  • mhash
    Mhash支持各种哈希算法,例如MD5,SHA1,GOST等。

    自PHP 7.0.0起,Mhash扩展已完全集成到Hash扩展中。
    您需要使用--with-mhash[DIR] 参数编译 PHP才能启用此扩展。DIR 是 mhash 安装目录。

从 PHP 5.3.0 开始,通过哈希扩展模拟mhash扩展。这使得 mhash 安装目录不起作用,并且需要启用哈希扩展以使 mhash 支持可用。

  • mongodb
    mongodb扩展

  • mysqli
    它是mysql系统函数的增强版,更稳定更高效更安全

    −−with-mysqli=FILE Include MySQLi support. FILE is the path to mysql_config
    指定系统里安装的 MYSQL 的目录下的 mysql_config 文件路径。

  • openssl
    对称/非对称加解密,以及 PBKDF2、 PKCS7、 PKCS12、 X509 和其他加密操作

    −−with-openssl=DIR Include OpenSSL support (requires OpenSSL >= 1.0.1)
    −−with-kerberos=DIR OPENSSL: Include Kerberos support
    −−with-system-ciphers OPENSSL: Use system default cipher list instead of hardcoded value
    PHP 7.1 所需的 openssl 版本是 >= 1.0.1
    PHP 7.0 所需的 openssl 版本是 >= 0.9.8
    PHP 5.6 所需的 openssl 版本是 >= 0.9.6
    PHP 5.5 所需的 openssl 版本是 >= 0.9.6
    PHP 5.4 所需的 openssl 版本是 >= 0.9.6
    PHP 5.3 所需的 openssl 版本是 >= 0.9.6

  • pcntl
    多进程

    通过指定编译参数 −−enable-pcntl 安装。 Enable pcntl support (CLI/CGI only)

  • pcre
    正则

    −−with-pcre-regex=DIR Include Perl Compatible Regular Expressions support. DIR is the PCRE install prefix BUNDLED
    −−with-pcre-jit Enable PCRE JIT functionality

  • PDO
    pdo则提供了一个统一的API接口,使得你的PHP应用不去关心具体要连接的数据库服务器系统类型。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-pdo Disable PHP Data Objects support

  • pdo_mysql
    PDO_MYSQL是一个驱动程序,它实现了PHP数据对象(PDO)接口, 以实现从PHP到MySQL 3.x,4.x和5.x数据库的访问。

  • pdo_sqlite
    PDO_SQLITE是一个驱动程序,它实现了PHP数据对象(PDO)接口来访问SQLite 3数据库。

  • Phar
    PHP5.3 之后支持了类似 Java 的 jar 包,名为 phar。用来将多个 PHP 文件打包为一个文件。这个特性使得 PHP 也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 中运行。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-phar Disable phar support

  • posix
    该模块包含IEEE 1003.1(POSIX.1)标准文档中定义的那些功能的接口,这些接口不能通过其他方式访问。
    进程控制中用到。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-posix Disable POSIX-like functions

  • readline
    readline 扩展函数实现了访问 GNU Readline 库的接口. 这些函数提供了可编辑的命令行.

    −−with-readline=DIR Include readline support (CLI/CGI only)
    Debian/Ubuntu 需安装 libreadline-dev 依赖包。
    Redhat/CentOS 需安装 readline-devel 依赖包。

  • redis
    redis扩展

  • Reflection
    它是用来导出或提取出关于类、方法、属性、参数等的详细信息,包括注释。

    此扩展默认为启用。

  • session
    seesion

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-session Disable session support
    另如果要给此扩展指定 mm 支持的话,则还有以下的编译参数。
    −−with-mm=DIR SESSION: Include mm support for session storage

  • shmop
    共享内存

    通过指定编译参数 −−enable-shmop 安装。 Enable shmop support

  • SimpleXML
    处理xml

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-simplexml Disable SimpleXML support
    另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
    −−with-libxml-dir=DIR SimpleXML: libxml2 install prefix

  • sockets
    Socket扩展是基于流行的BSD sockets,实现了和socket通讯功能的底层接口,它可以和客户端一样当做一个socket服务器。

    通过指定编译参数 −−enable-sockets 安装。 Enable sockets support

  • SPL
    SPL是用于解决典型问题(standard problems)的一组接口与类的集合。

    此扩展默认为启用。

  • sqlite3
    对 SQLite v3 数据库的支持信息。

    此扩展默认为启用,编译时可通过下列选项禁用:−−without-sqlite3=DIR Do not include SQLite3 support. DIR is the prefix to SQLite3 installation directory

  • sqlite3
    对 SQLite v3 数据库的支持信息。

    此扩展默认为启用,编译时可通过下列选项禁用:−−without-pdo-sqlite=DIR PDO: sqlite 3 support. DIR is the sqlite base install directory BUNDLED

  • standard
    标准库

  • sysvmsg
    System V信号量

    通过指定编译参数 −−enable-sysvmsg 安装。 Enable sysvmsg support

  • sysvsem
    消息队列

    通过指定编译参数 −−enable-sysvsem 安装。 Enable System V semaphore support

  • sysvshm
    sysvshm提供了一个内存共享方案

    通过指定编译参数 −−enable-sysvshm 安装。 Enable the System V shared memory support

  • tokenizer
    tokenizer函数提供了一个内嵌在Zend引擎的”PHP tokenizer”的调用接口。使用这些函数,你可以写出你自己的PHP源码分析或者修改工具,而无需处理词法分析级别上的语言规范。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-tokenizer Disable tokenizer support

  • wddx
    Web分布式数据交换(WDDX)

    此扩展已被移至 » PECL 资源库且不再与 PHP 捆绑。7.4.0
    通过指定编译参数 −−enable-wddx 安装。 Enable WDDX support
    另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
    −−with-libxml-dir=DIR WDDX: libxml2 install prefix

  • xml
    XML 解析器

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xml Disable XML support

  • xmlreader
    XMLReader扩展是一个XML Pull解析器。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xmlreader Disable XMLReader support
    另如果要给此扩展指定 libxml2 目录的话,则还有以下的编译参数。
    −−with-libxml-dir=DIR XMLReader: libxml2 install prefix

  • xmlrpc
    _

    通过指定编译参数 −−with-xmlrpc=DIR 安装。 Include XMLRPC-EPI support
    另如果要给此扩展指定 libxml2 和 iconv 目录的话,则还有以下的编译参数。
    −−with-libxml-dir=DIR XMLRPC-EPI: libxml2 install prefix
    −−with-iconv-dir=DIR XMLRPC-EPI: iconv dir for XMLRPC-EPI

  • xmlwriter
    这是XMLWriter扩展。它包装了libxml xmlWriter API。
    这个扩展表示一个作者,它提供了一个非缓存的,只能转发的方式来生成包含XML数据的流或文件。

    此扩展默认为启用,编译时可通过下列选项禁用:−−disable-xmlwriter Disable XMLWriter support

  • xsl
    指扩展样式表语言。

    通过指定编译参数 −−with-xsl=DIR安装。 Include XSL support. DIR is the libxslt base install directory (libxslt >= 1.1.0 required)
    Debian/Ubuntu 需安装 libxslt1-dev 依赖包。
    Redhat/CentOS 需安装 libxslt-devel 依赖包。

  • zip
    _

    通过指定编译参数 −−enable-zip 安装。 Include Zip read/write support
    另如果要给此扩展指定 libz, PCRE 和 libzip 目录的话,则还有以下的编译参数。
    −−with-zlib-dir=DIR ZIP: Set the path to libz install prefix
    −−with-pcre-dir=DIR ZIP: pcre install prefix
    −−with-libzip=DIR ZIP: use libzip

  • zlib
    _

    通过指定编译参数 −−with-zlib=DIR 安装。 Include ZLIB support (requires zlib >= 1.0.9)
    Debian/Ubuntu 需安装 zlib1g-dev 依赖包。
    Redhat/CentOS 需安装 zlib-devel 依赖包。

Zend Modules

  • Zend OPcache
    opcache 扩展,把 php 代码编译成的 Opocdes 缓存起来,每次请求的时候就不需要前面的编译步骤了。代替以前的 apc 。
    如果想要利用APC的用户缓存,则还需要安装APCu。APCu可通过PECL获得。APCu为APC提供的共享内存用户空间缓存提供完整的向后兼容API。APCu不应与APC一起安装。

    PHP 5.5 之后的版本,此扩展默认为启用,编译时可通过下列选项禁用:−−disable-opcache Disable Zend OPcache support

引用:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,875评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,569评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,475评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,459评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,537评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,563评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,580评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,326评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,773评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,086评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,252评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,921评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,566评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,190评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,435评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,129评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,125评论 2 352