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

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article
Statamic Mailables Viewer Previews Laravel Emails in the Control Panel image

Statamic Mailables Viewer Previews Laravel Emails in the Control Panel

Read article
Laravel Tackle: Run an AI Coding Agent in Your Laravel App image

Laravel Tackle: Run an AI Coding Agent in Your Laravel App

Read article
Queue::forward(): Reroute Laravel Queues in One Place image

Queue::forward(): Reroute Laravel Queues in One Place

Read article
Laravel Read-Through Filesystem: Lazy Storage Migration image

Laravel Read-Through Filesystem: Lazy Storage Migration

Read article