PHP 扩展详解
一、建议启用的 PHP 扩展
bcmath Core ctype curl date dom exif fileinfo filter hash iconv igbinary imagick intl json libxml mbstring mysqli mysqlnd openssl pcre PDO pdo_mysql Phar random redis Reflection session SimpleXML SPL standard tokenizer xml xmlreader xmlwriter Zend OPcache zip zlib
二、建议禁用的 PHP 扩展
apcu memcache memcached gd imap smtp sockets readline pdo_dblib pdo_sqlite sqlite3 posix shmop xdebug
三、关键 PHP 扩展详解
1. 对象缓存
以下三者均为对象缓存,通常三选一即可。
- APCu:适用于单服务器环境,主要用于缓存 PHP 用户变量,不支持分布式
- Redis:支持分布式、数据持久化及复杂数据结构(如列表、集合),适合多数现代应用场景
- Memcache / Memcached:专注于高性能的分布式键值缓存,协议简单,适合仅需纯内存缓存且无需持久化的场景
2. 性能加速
- OPcache:作为 Zend 引擎内置组件,通过缓存 PHP 字节码显著提升性能
- igbinary:提供比默认 PHP 序列化更高效的二进制格式。若对缓存读写速度/空间有较高要求,建议启用
3. 图像处理
- gd:适合简单的缩略图或水印需求
- imagick:支持更多格式和滤镜,适合电商、专业图片处理场景
- Exif:读取图像元数据(如拍摄时间、拍摄设备)及自动纠正手机照片旋转方向
4. 文件操作
- Fileinfo:检测上传文件的 MIME 类型,防止恶意文件上传
- Zip:提供 zip 压缩支持,用于插件/主题的安装、备份与导出
- Zlib:提供 gzip 压缩支持,用于数据传输压缩及解压操作
- Phar:用于处理 .phar 打包文件,使用 WP-CLI 命令行工具时开启
5. 网络类
- cURL:用于发起 HTTP/HTTPS 请求,是与外部 API交互的必选组件
- OpenSSL:提供 SSL/TLS 支持,用于 HTTPS 安全连接、加密数据传输及安全邮件发送
- mbstring:专门处理多字节字符(如中文、日文等 UTF-8 文本),若网站包含非 ASCII 字符或涉及国际化,建议开启
- intl:基于 ICU 库,提供强大的日期、时间、货币、数字格式化及区域排序功能,适合对多语言显示格式有严格要求的国际化应用
6. 邮件类
- imap:仅在需要从服务器拉取邮件时启用
7. 通信类
- sockets:用于自定义网络通信需求
- Readline:命令行工具辅助,在运行 PHP 脚本时提供命令历史回溯和编辑功能
8. 数据库访问类
- mysqli:连接数据库的接口
- mysqlnd:底层高性能驱动
- PDO:通用的数据库访问方式
- pdo_mysql:许多现代插件和框架使用 PDO 接口访问 MySQL
- pdo_dblib:用于连接 Microsoft SQL Server
- pdo_sqlite & sqlite3:用于 SQLite 数据库
9. 数据解析类
- JSON:用于编码和解码JSON数据
- libxml:基础依赖,大部分 XML 扩展的底层库
- DOM:核心组件,用于操作 HTML/XML 结构
- SimpleXML:用于快速读取配置文件或外部数据源
- XMLReader / XMLWriter:用于高效处理大型 XML 文件
10.系统 / 安全类
- standard & SPL:提供 PHP 基础函数、数组对象、迭代器等核心功能
- Reflection:用于动态分析类和方法
- ctype & filter:用于验证用户输入(如邮箱格式、字符类型)和过滤恶意数据
- tokenizer:用于代码静态分析、高亮或自动补全工具
- posix:提供 Unix 系统级函数(如获取用户 ID、进程信号)
- shmop:用于共享内存操作,属于底层高性能优化手段
11. 其他扩展
- Core:PHP 核心功能模块
- random:提供加密安全的随机数
- date:处理所有时间戳、文章发布时间、定时任务
- hash:用于密码哈希、文件完整性校验和 Cookie 签名
- session:PHP 会话管理扩展,用于保存用户登录状态、购物车、后台认证等
- iconv:用于字符编码转换(如 UTF-8 转 GBK)
- bcmath:高精度计算,运行 WooCommerce、积分系统、金融类插件或需要精确小数运算时必须开启
- xdebug:调试器与性能分析工具,支持断点调试、函数跟踪、代码覆盖率分析等。但会显著降低网站性能并暴露代码路径信息,建议仅在本地开发调试时开启