Phpup is a single-file binary with zero dependencies that includes Composer and other PHP tools. It also allows installing a per-project PHP based on your composer.json
.
You don't need to have PHP or anything at all on your system to run it.
Warning
Under heavy development
Currently, this is an MVP, and only macOS aarch64 is supported.
Download phpup
binary from the release page and put it into a directory on your PATH, so you can simply call phpup
from any directory.
curl -OL https://github.com/pronskiy/phpup/releases/latest/download/phpup
chmod +x phpup
sudo mv phpup /usr/local/bin/phpup
-
phpup list
– See the list of available commands. -
phpup <file>
– Run any php file. 🚧 -
phpup composer
– Composer that does not require PHP to be installed. -
phpup conductor <command>
– Like npx but for PHP. 🚧 -
phpup locus
– Installs PHP binary under your project'svendor/bin/php
based on the requirements in composer.json. -
phpup phpstan
– PHPStan that does not require PHP. 🚧 -
phpup rector
– Rector that does not require PHP. 🚧
Contributions are very welcome! However, it's recommended to first create an issue describing the idea — let's find the best approach together.
See some ideas in the todo list below.
Before you begin, ensure you have met the following requirements:
Building Binary
make build
-
Run php script #1
-
Accept a reference to a packagist/gh repo, to be able to run its scripts/bin/
-
Support Windows
-
Support Linux
-
Make symfony/console app
-
Add help command
-
Extract packing with box and micro php to a stand-alone GitHub action
-
Reduce size of the resulting binary
-
Check microphp's patches:
- Bypass cli SAPI name checks
- static_opcache
-
[ ] Add more tools[ ] PHP-CS-Fixer[ ] PHPUnit
-
[ ] Support Rector 🚧 -
[ ] Support PHPStan 🚧
This package entirely relies on https://github.com/static-php and https://github.com/easysoft/phpmicro.