News

PIE (PHP Installer for Extensions)

Published Updated
PIE (PHP Installer for Extensions) image

PHP comes with quite a number of core extensions already included, and some additional extensions can be installed through an OS package manager, such as Apt, Yum, Homebrew, etc, on Linux and MacOS or as precompiled binaries on Windows. However, sometimes, you need to install other extensions that might still need to be precompiled and available via those options. In those instances, you would need to utilize something like PECL or compile the extension manually from the source.

The PHP Foundation has recently introduced a pre-release of the PHP Installer for Extensions (PIE). PIE aims to simplify managing PHP extensions by providing a modern, flexible alternative to PECL and treating extensions as first-class citizens in the PHP ecosystem.

The whole point of this project is to help make the process of managing PHP extensions more streamlined. Now, extensions can be distributed via Packagist, just like regular PHP packages! As a result, the installation and update process of extensions will be quite familiar to developers who already use Composer.

Note that as of the writing of this article, this project is still in active development, and there is an initial pre-release that is stable and available as a PHAR download. You will also need PHP 8.1 or newer to run PIE, but PIE can install an extension to any installed PHP version. The PHP Foundation is inviting developers to try it and share feedback.

Assuming you have moved pie.phar into your $PATH, e.g. /usr/local/bin/pie on non-Windows systems, you can install your extension with:

pie install <vendor>/<package>
 
# for example:
pie install xdebug/xdebug

If you are an extension author, your extensions will need to be made compatible with PIE by adding a composer.json file and publishing it on Packagist. Further instructions have been shared on how to make your packages compatible. Once that is followed, it will appear on the Packagist Extensions list page.

To learn more about this tool, you can read the usage docs and view the source code at the official PIE Github repository.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Filed in

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article
Laravel Rulebook: Business Rules That Change by Date image

Laravel Rulebook: Business Rules That Change by Date

Read article