@@ -18,19 +18,6 @@ order: 2
1818This documentation assumes you have moved ` pie.phar ` into your ` $PATH ` , e.g.
1919` /usr/local/bin/pie ` on non-Windows systems.
2020
21- ### One-liner
22-
23- Note that this does not verify any signatures, and you assume the risks in
24- running this, but this will put PIE into ` /usr/local/bin/pie ` on a non-Windows
25- system:
26-
27- ``` shell
28- curl -fL --output /tmp/pie.phar https://github.com/php/pie/releases/latest/download/pie.phar \
29- && gh attestation verify --owner php /tmp/pie.phar \
30- && sudo mv /tmp/pie.phar /usr/local/bin/pie \
31- && sudo chmod +x /usr/local/bin/pie
32- ```
33-
3421### Distribution packages
3522
3623> [ !WARNING]
@@ -108,27 +95,37 @@ As of 1.4.0 an **experimental** executable (binary) version of PIE is included.
10895The PIE is built using [ Static PHP] ( https://static-php.dev/ ) , which builds a
10996self-contained PHP executable with the extensions that PIE needs to run, and
11097bundles the PHAR as a single distributable executable. Please keep in mind that
111- this is ** experimental** and we do not recommend this for production use for
98+ this is ** experimental** , and we do not recommend this for production use for
11299the time being. Please also note there are some limitations:
113100
114- - [ php/pie #459 ] ( https://github.com/php/pie/discussions/459 ) - the OSX version
115- is not signed with an Apple Developer account, which means (at your own risk)
116- you would need to tell your system to trust the downloaded executable.
117101 - [ php/pie #460 ] ( https://github.com/php/pie/discussions/460 ) - all the binary
118102 versions have the ` pie self-update ` feature disabled for now.
119103
120104If you find the binary releases useful, please leave feedback or upvote on the
121105relevant discussions, so we can gauge interest in improving this functionality.
122106
107+ The stable versions of the executables can be found by navigating to the
108+ [ relevant release] ( https://github.com/php/pie/releases ) , and finding the
109+ appropriate executable for your platform. For your convenience, the "latest"
110+ stable releases can be downloaded from these links:
111+
112+ | Operating System | Architecture | Download URL |
113+ | ------------------| ------------------| -------------------------------------------------------------------------|
114+ | Linux | amd64 / x86_64 | https://github.com/php/pie/releases/latest/download/pie-Linux-X64 |
115+ | OS X | ARM 64 / aarch64 | https://github.com/php/pie/releases/latest/download/pie-macOS-ARM64 |
116+ | Windows | x86_64 | https://github.com/php/pie/releases/latest/download/pie-Windows-X64.exe |
117+ | Linux | ARM 64 / aarch64 | https://github.com/php/pie/releases/latest/download/pie-Linux-ARM64 |
118+ | OS X | Intel / x86_64 | https://github.com/php/pie/releases/latest/download/pie-macOS-X64 |
119+
123120The "nightly" versions of these can be found here:
124121
125122| Operating System | Architecture | Download URL |
126123| ------------------| ------------------| -----------------------------------------------|
127- | Linux | ARM 64 / aarch64 | https://php.github.io/pie/pie-Linux-ARM64 |
128124| Linux | amd64 / x86_64 | https://php.github.io/pie/pie-Linux-X64 |
129125| OS X | ARM 64 / aarch64 | https://php.github.io/pie/pie-macOS-ARM64 |
130- | OS X | Intel / x86_64 | https://php.github.io/pie/pie-macOS-X64 |
131126| Windows | x86_64 | https://php.github.io/pie/pie-Windows-X64.exe |
127+ | Linux | ARM 64 / aarch64 | https://php.github.io/pie/pie-Linux-ARM64 |
128+ | OS X | Intel / x86_64 | https://php.github.io/pie/pie-macOS-X64 |
132129
133130We * highly* recommend you verify the file came from the PHP GitHub repository
134131before running it, for example:
@@ -139,21 +136,24 @@ $ chmod +x pie-Linux-X64
139136$ ./pie-Linux-X64 --version
140137```
141138
142- ## Prerequisites for PIE
139+ ## Prerequisites for PIE (PHAR distribution)
143140
144141Running PIE requires PHP 8.1 or newer. However, you may still use PIE to install
145- an extension for an older version of PHP.
142+ an extension for an older version of PHP. You also need the ` zip ` extension
143+ enabled for the PHP version running PIE, or ` git ` to download the extension
144+ source code.
146145
147- Additionally to PHP, PIE requires the following tools to be available on your
148- system in order to download, build and install extensions:
146+ Additionally to PHP, PIE requires the following build tools to be available on
147+ your system in order to download, build and install extensions. Note that as of
148+ PIE 1.4.0, PIE will attempt to detect and install the missing build tools:
149149
150- - The ` zip ` extension enabled for the PHP version running PIE, or ` git ` to
151- download the extension source code
152150- ` autoconf ` , ` automake ` , ` libtool ` , ` m4 ` , ` make ` , and ` gcc ` to build the extension
153151- PHP development tools (such as ` php-config ` and ` phpize ` ) to prepare the
154152 extension for building.
155153
156- Also, each extension may have its own requirements, such as additional libraries.
154+ Also, each extension may have its own requirements, such as additional
155+ libraries. As of PIE 1.4.0, for some extensions, PIE will attempt to detect and
156+ install the missing system libraries.
157157
158158> [ !TIP]
159159> If you run PIE without the correct prerequisites installed, you may receive
@@ -392,26 +392,26 @@ like to install one. For example:
392392
393393```
394394$ pie install
395- 🥧 PHP Installer for Extensions (PIE), 0.9.0, from The PHP Foundation
396- You are running PHP 8.3.19
397- Target PHP installation: 8.3.19 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
398- Checking extensions for your project your-vendor/your-project
399- requires: curl ✅ Already installed
400- requires: intl ✅ Already installed
401- requires: json ✅ Already installed
402- requires: example_pie_extension ⚠️ Missing
403-
404- The following packages may be suitable, which would you like to install:
395+ 🥧 PHP Installer for Extensions (PIE) 1.4.0, from The PHP Foundation
396+ You are running PHP 8.5.0
397+ Target PHP installation: 8.5.0 nts, on Linux/OSX/etc x86_64 (from /usr/local/bin/php)
398+ Checking extensions for your project asgrim/demo-php-project (path: /demos/demo-php-project)
399+ requires: ext-curl:* ✅ Already installed
400+ requires: ext-example_pie_extension:^2.0 🚫 Missing
401+
402+ The following packages may be suitable, which would you like to install:
405403 [0] None
406404 [1] asgrim/example-pie-extension: Example PIE extension
407405 > 1
408- > 🥧 PHP Installer for Extensions (PIE), 0.9.0, from The PHP Foundation
409- > This command may need elevated privileges, and may prompt you for your password.
410- > You are running PHP 8.3.19
411- > Target PHP installation: 8.3.19 nts, on Linux/OSX/etc x86_64 (from /usr/bin/php8.3)
412- > Found package: asgrim/example-pie-extension:2.0.2 which provides ext-example_pie_extension
413- ... (snip) ...
414- > ✅ Extension is enabled and loaded in /usr/bin/php8.3
406+ example_pie_extension> You are running PHP 8.5.0
407+ example_pie_extension> Target PHP installation: 8.5.0 nts, on Linux/OSX/etc x86_64 (from /usr/local/bin/php)
408+ example_pie_extension> Found package: asgrim/example-pie-extension:2.0.9 which provides ext-example_pie_extension
409+ example_pie_extension> Extracted asgrim/example-pie-extension:2.0.9 source to: /path/to/example-pie-extension
410+ example_pie_extension> phpize complete.
411+ example_pie_extension> Configure complete with options: --with-php-config=/usr/local/bin/php-config
412+ example_pie_extension> Build complete: /path/to/example-pie-extension/modules/example_pie_extension.so
413+ example_pie_extension> Install complete: /usr/local/lib/php/extensions/no-debug-non-zts-20250925/example_pie_extension.so
414+ example_pie_extension> ✅ Extension is enabled and loaded in /usr/local/bin/php
415415
416416Finished checking extensions.
417417```
0 commit comments