php/pie — 2.1k★ on GitHub (PHP). 🥧 The PHP Installer for Extensions
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
PIE is the official installer for PHP extensions, which replaces
PECL (which is now deprecated). PIE is distributed as a
PHAR, just like Composer, and
works in a similar way to Composer, but it installs PHP extensions (PHP Modules
or Zend Extensions) to your PHP installation, rather than pulling PHP packages
into your project or library.
Using PIE - what do I need to get started?
Prerequisites
You will need PHP 8.1 or newer to run PIE, but PIE can install an extension to
any other installed PHP version.
On Linux/OSX, if any build tools needed are missing, PIE will ask if you would
like to automatically install them first (as of PIE 1.4.0).
On Windows, you do not need any build toolchain installed, since PHP extensions
for Windows are distributed as pre-compiled packages containing the extension
DLL.
Installing PIE
Download pie.phar either:
latest stable release
latest unstable nightly
Verify the PHAR's source with gh attestation verify --owner php pie.phar
You may then invoke PIE with php pie.phar <command>
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 or created an alias in your shell RC file.
One-liner
This will install PIE into /usr/local/bin/pie on a non-Windows system:
[!TIP]
For usage in a Docker image build, we have a recommended usage example in
usage#example-of-pie-working-in-a-dockerfile.
Using PIE
Installing a single 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 asgrim/example-pie-extension
🥧 PHP Installer for Extensions (PIE) 1.4.0, from The PHP Foundation
This command may need elevated privileges, and may prompt you for your password.
You are running PHP 8.5.3
Target PHP installation: 8.5.3 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.5)
Found package: asgrim/example-pie-extension:2.0.9 which provides ext-example_pie_extension
Extracted asgrim/example-pie-extension:2.0.9 source to: /path/to/example-pie-extension
phpize complete.
Configure complete with options: --with-php-config=/usr/bin/php-config8.5
Build complete: /path/to/example-pie-extension/modules/example_pie_extension.so
Install complete: /usr/lib/php/20250925/example_pie_extension.so
✅ Extension is enabled and loaded in /usr/bin/php8.5
$
Installing multiple extensions at once
As of PIE 1.5 you can install multiple extensions at the same time. Note that
if multiple extensions share the same configure options, this command will fail.
pie install foo/great-extension bar/another-extension
Installing all extensions for a PHP project
When in your PHP project, you can install any missing top-level extensions:
$ pie install
🥧 PHP Installer for Extensions (PIE) 1.4.0, from The PHP Foundation
You are running PHP 8.5.0
Target PHP installation: 8.5.0 nts, on Linux/OSX/etc x86_64 (from /usr/local/bin/php)
Checking extensions for your project asgrim/demo-php-project (path: /demos/demo-php-project)
requires: ext-curl:* ✅ Already installed
requires: ext-example_pie_extension:^2.0 🚫 Missing
The following packages may be suitable, which would you like to install:
[0] None
[1] asgrim/example-pie-extension: Example PIE extension
> 1
example_pie_extension> You are running PHP 8.5.0
example_pie_extension> Target PHP installation: 8.5.0 nts, on Linux/OSX/etc x86_64 (from /usr/local/bin/php)
example_pie_extension> Found package: asgrim/example-pie-extension:2.0.9 which provides ext-example_pie_extension
example_pie_extension> Extracted asgrim/example-pie-extension:2.0.9 source to: /path/to/example-pie-extension
example_pie_extension> phpize complete.
example_pie_extension> Configure complete with options: --with-php-config=/usr/local/bin/php-config
example_pie_extension> Build complete: /path/to/example-pie-extension/modules/example_pie_extension.so
example_pie_extension> Install complete: /usr/local/lib/php/extensions/no-debug-non-zts-20250925/example_pie_extension.so
example_pie_extension> ✅ Extension is enabled and loaded in /usr/local/bin/php
Finished checking extensions.
[!IMPORTANT]
If you are running PIE in a non-interactive shell (for example, CI, a
container), the --allow-non-interactive-project-install is no longer
functional. You must specify --select flags for each missing package, e.g.:
pie install \
--select example_pie_extension=asgrim/example-pie-extension \
--select redis=phpredis/phpredis
Extensions that support PIE
A list of extensions that support PIE can be found on
https://packagist.org/extensions.
I have a bug, feature idea, question, need help, etc.
If you have an idea, question, or need help, please use the Discussions.
Please check with us first before contributing new features - it may be
something we're already working on, as the PHP Foundation is actively
developing this too, and there are new features already in the pipeline...
If you have a bug to report, please use the Issues.
I'm an extension maintainer - how do I add PIE support?
If you are an extension maintainer wanting to add PIE support to your extension,
please read extension-maintainers.
More documentation...
The full documentation for PIE can be found in usage docs.
TopGit's last sync did not record any GitHub topics for php/pie. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on php/pie?
The most recent commit recorded on php/pie was 2 days ago, based on the GitHub push timestamp. The repository has 77 forks — one of the better signals of community interest.
How many stars does php/pie have?
php/pie has 2.1k GitHub stars — refresh the page for the live number, or check github.com/php/pie. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
What language is php/pie written in?
php/pie is written primarily in PHP. GitHub's language field is based on the largest share of bytes in the default branch.
What license does php/pie use?
php/pie is released under the BSD-3-Clause license. Always verify the LICENSE file directly on GitHub for the authoritative terms — license strings can be edited out of sync with a project's actual stance.
Where can I see php/pie in action?
The project maintains a homepage at https://php.github.io/pie/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about php/pie?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/php/pie is the definitive source.
Read full README in the tab above.
Want a second opinion on pie?
Ask an AI that can read this page — one click and you get its take on pie.