PIE:PHP 扩展管理的未来,替代 PECL 的新选择
版权声明
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
文章主旨: PIE(PHP Installer for Extensions)作为新一代 PHP 扩展管理工具,旨在替代过时的 PECL,为开发者提供更轻量、更现代、更便捷的扩展安装与管理体验。
关键要点:
- PECL 存在代码老旧、难以维护、数据库乱码等问题,且发布流程繁琐(仅 lead 角色可上传),用户体验已落后于 Composer 管理用户空间代码的便捷性。
- PIE 是一个模块化、轻量级工具,专为 PHP 扩展管理设计,通过 Composer 包名称(如 apcu/apcu)即可通过
pie install等命令下载、构建和安装扩展。 - PIE 要求 PHP ≥8.1 运行,但可为任意已安装的 PHP 版本安装扩展;目前处于 0.1.0 预览阶段,支持
pie download、pie build、pie install三个主要命令,并可指定--with-php-config切换目标版本。 - 兼容扩展列表托管于 Packagist(https://packagist.org/extensions),扩展开发者需在项目中添加
composer.json并声明安装选项以入选该列表。 - 目前 PIE 不会自动配置
php.ini,需手动添加extension=指令;部分扩展(如 Swow)已自有安装脚本,可能与 PIE 存在冲突,需观望。
内容结构:
1. PECL 的现状与问题
原文指出 PECL 代码老旧、维护困难、数据库乱码;发布流程仅限 lead 角色上传,用户安装体验落后于 Composer 对用户空间代码的管理,因此催生 PIE 作为替代方案。
2. 什么是 PIE
PIE 是一个全新的、轻量级、模块化的 PHP 扩展管理工具,目标是为开发者提供比 PECL 更流畅的安装与使用体验,采用现代化设计降低维护成本。
3. 使用 PIE 的优势
扩展开发者仅需在项目中添加 composer.json 并声明安装选项,提交至 Packagist 即可;用户可通过 Composer 包名称直接安装,简化了传统上传流程。
4. 下载安装 PIE
需 PHP 8.1+,提供 wget 和 curl 两种命令下载 pie.phar 并赋予执行权限;当前为 0.1.0 预览版,正式版链接将替换为 https://github.com/php/pie/releases/latest/download/pie.phar。
5. 下载、构建或安装扩展
支持 pie download、pie build、pie install 三种操作。安装时需指定 Composer 包名称(如 apcu/apcu),可添加版本约束;通过 --with-php-config 指定目标 PHP 版本。编译配置选项可通过 pie info 查看。当前 PIE 不自动配置 php.ini,需手动添加 extension=。
6. 对扩展开发者的影响及示例
扩展开发者需在项目中添加 composer.json 以支持 PIE 索引;原文作者已为 Swoole 添加支持,但指出 Swow 等已自有 Composer 安装脚本的项目可能不适用或存在冲突,建议观望。
7. 结语
PIE 0.1.0 标志着 PHP 扩展管理进入新阶段,将逐步替代 PECL 成为主流工具,让开发者更专注于编码。
文章总结: PIE 作为 PECL 的现代化替代品,通过 Composer 集成、简化发布流程和轻量化设计,为 PHP 扩展的管理与安装带来了更高效的体验,但仍处于早期阶段,需关注后续迭代与兼容性改进。
鲁飞
还在用多套工具管项目?
一个平台搞定产品、项目、质量与效能,告别整合之苦,实现全流程闭环。
白皮书上线