folk-project / ext-folk
Folk PHP application server extension — pre-built binaries with all plugins (http, jobs, grpc, metrics, process)
Package info
github.com/Folk-Project/folk-releases
Type:php-ext
Ext name:ext-folk
pkg:composer/folk-project/ext-folk
Requires
- php: >=8.2
README
High-performance PHP application server powered by Rust.
Folk replaces nginx + php-fpm with a single binary that handles HTTP, gRPC, background jobs, metrics, and managed processes — all with zero-copy communication between Rust and PHP.
Documentation
📖 Full docs: folk-project.github.io/folk-releases
| Guide | Link |
|---|---|
| Installation (PIE, Docker, build from source) | installation |
Configuration (folk.toml) |
configuration |
| Full config reference | reference |
| Plugins — HTTP · Jobs · gRPC · Metrics · Process | plugins |
| Benchmarks | benchmarks |
Quick Start
1. Install the extension (requires PHP 8.2+, NTS) — see Installation for Docker and from-source:
pie install folk-project/ext-folk
2. Install the SDK or a framework adapter:
composer require folk/sdk # plain PHP # composer require folk/laravel # Laravel # composer require folk/spiral # Spiral 3.x # composer require folk/symfony # Symfony 6.4 / 7.x / 8.x # composer require folk/yii3 # Yii 3
3. Create folk.toml (all options):
[workers] # plain SDK: vendor/bin/folk-worker # Laravel: vendor/folk/laravel/bin/folk-server # Spiral: vendor/folk/spiral/bin/folk-server # Symfony: vendor/folk/symfony/bin/folk-server # Yii 3: vendor/folk/yii3/bin/folk-server script = "vendor/bin/folk-worker" count = 4 [http] listen = "0.0.0.0:8080"
4. Run:
php vendor/bin/folk-worker # or the framework's bin/folk-server
Your app is now serving HTTP on port 8080 across 4 worker processes.
Downloads
Pre-built extensions are available on the Releases page.
Contributing
Found a bug or have an idea? See Contributing Guide for how to report issues and propose features.
All issues are tracked in this repository: Issues
License
MIT