本文目录导读:

这里说的“必备包”通常指两种:Composer 包(第三方库)或PHP 扩展(底层功能)。
由于 PHP 开发高度依赖 Composer 生态,我将重点推荐最常用、最核心的 Composer 包(同时也列出必装的 PHP 扩展)。
必装的 PHP 扩展(底层驱动)
这些不是 Composer 包,而是 PHP 运行时的基础,需在 php.ini 中启用:
openssl:HTTPS、RSA 加密、JWT 签名的基础。pdo_mysql:数据库访问的核心驱动(PDO 扩展本身也需要)。mbstring:多字节字符串处理,处理中文、UTF-8 必须开启。json:PHP 内置,但 7.x 以后作为独立扩展,几乎所有 API 都要用。curl:发起 HTTP 请求(调用第三方 API)必备。fileinfo:上传文件时识别 MIME 类型(Laravel 验证image需要)。zip:打包发布、Excel 导入导出需要。
核心 Composer 包(按使用频率排序)
这些是 PHP 开发者几乎必装 的第三方库:
通用工具类(最刚需)
nesbot/carbon:日期时间处理神器,极大地简化了时间加减、格式化、时区转换,所有框架都用它。ramsey/uuid:生成唯一 ID,用于分布式系统、订单号、文件命名。vlucas/phpdotenv:读取.env文件,把密码、密钥放进环境变量,而不是写在代码里(Laravel/ThinkPHP 内置)。symfony/var-dumper:增强版的var_dump()和print_r(),用于调试打印变量,输出格式漂亮且能折叠。
HTTP 客户端(发请求)
guzzlehttp/guzzle:PHP 事实标准的 HTTP 客户端,支持并发异步、重试、Cookie、各种认证,所有 SDK(阿里云、微信支付)底层都用它。
数据库与查询构建
doctrine/dbal:数据库抽象层,主要用来基于 PDO 实现跨数据库迁移,Laravel 的migrate依赖它。topthink/think-orm:独立 TP 的 ORM,轻量级,适合非框架项目直接使用。
安全防护(安全管理)
paragonie/sodium_compat:PHP 7.2 以下老版本的安全加密库,新版可忽略。symfony/polyfill-php80:兼容老版本 PHP 的语法补丁包(通常自动安装)。
重量级框架必备
如果你使用主流的 Laravel 或 Symfony,以下包是核心依赖,不过通常框架已经预装了:
illuminate/support:Laravel 的基础工具包(集合类、Arr、Str 辅助函数)。phpoffice/phpspreadsheet:虽然不算“必备”但绝对是在线 Excel/CSV 导入导出首选,90% 的后台管理系统需要它。guzzlehttp/guzzle:处理外部 API 调用。brick/math:安全整型处理,处理金额结算时防止浮点误差,Laravel Cashier(订阅支付)依赖它。
开发调试扩展(提高效率)
laravel/telescope或barryvdh/laravel-debugbar:调试 SQL 查询和请求日志神器。symfony/stopwatch:代码性能分析计时器。
最小化必备清单(建议项目初始化必装)
如果你现在要新建一个空的 PHP 项目(不使用框架),建议最优先安装这 4 个:
composer require nesbot/carbon # 日期 composer require vlucas/phpdotenv # 环境变量 composer require guzzlehttp/guzzle # HTTP请求 composer require ramsey/uuid # 唯一ID
注意:如果使用 Laravel/ThinkPHP,上述大部分包框架已经带了,只需按需额外安装业务相关的(如 Excel、支付 SDK、验证码等)。
📊 总结建议
- 如果你用的是 Laravel:核心包都在
composer.lock里,无需操心,缺什么装什么即可(如intervention/image处理图片)。 - 如果你用原生 PHP 或小型框架:上面的 4 件套 + 安全过滤(
htmlpurifier/htmlpurifier)就是最强组合。
laminas/laminas-diactoros(PSR-7 HTTP 消息)如果你要兼容各种框架协议也可以考虑,但大部分人在用框架时代不需要直接装。
最后提醒:不是装得多就好,装多了项目会变臃肿且拖慢加载速度,建议按需引入,最核心缺不了的其实就是 PDO + OpenSSL + MBSTRING 这几个扩展。