22
33## What is PIE?
44
5- PIE is a new installer for PHP extensions, intended to eventually replace PECL.
6- It is distributed as a [ PHAR] ( https://www.php.net/manual/en/intro.phar.php ) ,
7- just like Composer, and works in a similar way to Composer, but it installs PHP
8- extensions (PHP Modules or Zend Extensions) to your PHP installation, rather
9- than pulling PHP packages into your project or library.
5+ PIE is the official installer for PHP extensions, which replaces
6+ [ PECL] ( https://pecl.php.net/ ) (which is now deprecated). PIE is distributed as a
7+ [ PHAR] ( https://www.php.net/manual/en/intro.phar.php ) , just like Composer, and
8+ works in a similar way to Composer, but it installs PHP extensions (PHP Modules
9+ or Zend Extensions) to your PHP installation, rather than pulling PHP packages
10+ into your project or library.
1011
1112# Using PIE - what do I need to get started?
1213
@@ -15,12 +16,8 @@ than pulling PHP packages into your project or library.
1516You will need PHP 8.1 or newer to run PIE, but PIE can install an extension to
1617any other installed PHP version.
1718
18- On Linux, you will need a build toolchain installed. On Debian/Ubuntu type
19- systems, you could run something like:
20-
21- ``` shell
22- sudo apt install gcc make autoconf libtool bison re2c pkg-config php-dev
23- ```
19+ On Linux/OSX, if any build tools needed are missing, PIE will ask if you would
20+ like to automatically install them first (this is a new feature in 1.4.0).
2421
2522On Windows, you do not need any build toolchain installed, since PHP extensions
2623for Windows are distributed as pre-compiled packages containing the extension
@@ -38,7 +35,9 @@ Further installation details can be found in the [usage](./docs/usage.md) docs.
3835This documentation assumes you have moved ` pie.phar ` into your ` $PATH ` , e.g.
3936` /usr/local/bin/pie ` on non-Windows systems or created an alias in your shell RC file.
4037
41- ## Installing a single extension using PIE
38+ ## Using PIE
39+
40+ ### Installing a single extension using PIE
4241
4342You can install an extension using the ` install ` command. For example, to
4443install the ` example_pie_extension ` extension, you would run:
@@ -57,7 +56,7 @@ You must now add "extension=example_pie_extension" to your php.ini
5756$
5857```
5958
60- ## Installing all extensions for a PHP project
59+ ### Installing all extensions for a PHP project
6160
6261When in your PHP project, you can install any missing top-level extensions:
6362
@@ -87,6 +86,12 @@ The following packages may be suitable, which would you like to install:
8786Finished checking extensions.
8887```
8988
89+ > [ !TIP]
90+ > If you are running PIE in a non-interactive shell (for example, CI, a
91+ > container), pass the ` --allow-non-interactive-project-install ` flag to run
92+ > this command. It may still fail if more than one PIE package provides a
93+ > particular extension.
94+
9095## Extensions that support PIE
9196
9297A list of extensions that support PIE can be found on
@@ -105,6 +110,6 @@ A list of extensions that support PIE can be found on
105110If you are an extension maintainer wanting to add PIE support to your extension,
106111please read [ extension-maintainers] ( ./docs/extension-maintainers.md ) .
107112
108- ## More documentation...
113+ # More documentation...
109114
110115The full documentation for PIE can be found in [ usage] ( ./docs/usage.md ) docs.
0 commit comments