Absortio

Email → Summary → Bookmark → Email

GitHub - php/pie: The PHP Installer for Extensions

https://github.com/php/pie Jun 21, 2025 21:15

Extracto

The PHP Installer for Extensions. Contribute to php/pie development by creating an account on GitHub.

Resumen

Resumen Principal

PIE (PHP Installer for Extensions) emerge como una herramienta fundamental para la gestión simplificada y robusta de extensiones PHP, actuando como un orquestador que automatiza el complejo proceso de compilación e instalación. Aunque requiere PHP 8.1 o superior para su propia ejecución, PIE demuestra una notable flexibilidad al poder instalar extensiones en cualquier versión de PHP que el usuario tenga configurada. Su propuesta de valor se centra en estandarizar y agilizar una tarea que históricamente ha sido manual y propensa a errores, beneficiando tanto a desarrolladores que consumen extensiones como a sus mantenedores. La herramienta no solo facilita la instalación individual de extensiones, sino que también ofrece una funcionalidad inteligente para resolver e instalar dependencias de extensiones a nivel de proyecto, inspeccionando los requisitos y proponiendo soluciones. La capacidad de verificar la autenticidad del binario pie.phar mediante atestación gh añade una capa crucial de seguridad y confianza, vital en el ecosistema de desarrollo moderno. Integrado con packagist.org/extensions, PIE centraliza el descubrimiento y la implementación de componentes esenciales para las aplicaciones PHP.

Elementos Clave

  • Naturaleza y Versatilidad de PIE: PIE, acrónimo de "PHP Installer for Extensions", es una utilidad diseñada para simplificar radicalmente la gestión de extensiones PHP. A pesar de que la propia herramienta requiere PHP 8.1 o una versión posterior para funcionar, su gran ventaja es la capacidad de instalar extensiones en cualquier versión de PHP que esté instalada en el sistema, ofreciendo una flexibilidad invaluable para entornos de desarrollo y producción con múltiples versiones de PHP.
  • Proceso de Instalación Seguro de PIE: La instalación de PIE se realiza descargando el archivo pie.phar, disponible en versiones estables o de desarrollo. Un paso crítico para la seguridad y la confianza es la verificación del origen del PHAR mediante la atestación de GitHub (gh attestation verify --owner php pie.phar), asegurando que la herramienta proviene de una fuente legítima y no ha sido alterada. Una

Contenido

🥧 PIE (PHP Installer for Extensions)

You will need PHP 8.1 or newer to run PIE, but PIE can install an extension to any installed PHP version.

If you are an extension maintainer wanting to add PIE support to your extension, please read extension-maintainers.

Installing PIE

Manual installation

Further installation details can be found in the usage docs. This documentation assumes you have moved pie.phar into your $PATH, e.g. /usr/local/bin/pie on non-Windows systems.

Extensions that support PIE

A list of extensions that support PIE can be found on https://packagist.org/extensions.

Installing an extension using PIE

You can install an extension using the install command. For example, to install the example_pie_extension extension, you would run:

$ pie install example/example-pie-extension
This command may need elevated privileges, and may prompt you for your password.
You are running PHP 8.3.10
Target PHP installation: 8.3.10 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
Found package: example/example-pie-extension:1.0.1 which provides ext-example_pie_extension
phpize complete.
Configure complete.
Build complete: /tmp/pie_downloader_66e0b1de73cdb6.04069773/example-example-pie-extension-769f906/modules/example_pie_extension.so
Install complete: /usr/lib/php/20230831/example_pie_extension.so
You must now add "extension=example_pie_extension" to your php.ini
$

Installing all extensions for a project

When in your PHP project, you can install any missing top-level extensions:

$ pie install
🥧 PHP Installer for Extensions (PIE), 0.9.0, from The PHP Foundation
You are running PHP 8.3.19
Target PHP installation: 8.3.19 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
Checking extensions for your project your-vendor/your-project
requires: curl ✅ Already installed
requires: intl ✅ Already installed
requires: json ✅ Already installed
requires: example_pie_extension ⚠️  Missing

The following packages may be suitable, which would you like to install:
  [0] None
  [1] asgrim/example-pie-extension: Example PIE extension
 > 1
   > 🥧 PHP Installer for Extensions (PIE), 0.9.0, from The PHP Foundation
   > This command may need elevated privileges, and may prompt you for your password.
   > You are running PHP 8.3.19
   > Target PHP installation: 8.3.19 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
   > Found package: asgrim/example-pie-extension:2.0.2 which provides ext-example_pie_extension
   ... (snip) ...
   > ✅ Extension is enabled and loaded in /usr/bin/php8.3

Finished checking extensions.

More documentation...

The full documentation for PIE can be found in usage docs.

Fuente: GitHub