Getting Started
Installation
Prerequisites and setup for using Pogo FrankenPHP plugins.
Requirements
- PHP with ZTS support compatible with FrankenPHP.
- FrankenPHP and Caddy module build tooling.
xcaddyfor compiling custom modules.- CGO enabled during builds.
- Composer for PHP framework packages.
- Redis for production queue deployments and optional WebSocket fanout.
The current modules target recent FrankenPHP/Caddy versions. The build examples use FrankenPHP v1.12.3 and Caddy v2.11.3.
Install build tooling
Install xcaddy:
Terminal
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
Confirm it is available:
Terminal
xcaddy version
Choose plugins
You can compile one plugin or all plugins into the same FrankenPHP binary.
| Plugin | Go module |
|---|---|
| Queue | github.com/y-l-g/queue/module |
| Scheduler | github.com/y-l-g/scheduler/module |
| Pogo | github.com/y-l-g/pogo/module |
| WebSocket | github.com/y-l-g/websocket/module |
Continue with Building FrankenPHP for complete build examples.
Install PHP packages
Install only the packages your application needs:
Terminal
composer require pogo/laravel-queue
composer require pogo/symfony-queue
composer require pogo/pogo
composer require pogo/websocket
The Composer packages do not compile native modules. They provide framework integration and helper interfaces for a FrankenPHP binary that already includes the matching plugin.
Start FrankenPHP
Run with your Caddyfile:
Terminal
frankenphp run --config Caddyfile
Laravel Octane users can also pass a Caddyfile to FrankenPHP:
Terminal
php artisan octane:frankenphp --caddyfile=Caddyfile