2022-10-13 16:05:22 +00:00
# FrankenPHP: Modern App Server for PHP
2021-09-24 16:52:20 +00:00
2022-10-14 10:20:57 +00:00
< h1 align = "center" > < a href = "https://frankenphp.dev" > < img src = "frankenphp.png" alt = "FrankenPHP" width = "600" > < / a > < / h1 >
FrankenPHP is a modern application server for PHP built on top of the [Caddy ](https://caddyserver.com/ ) web server.
2023-07-02 18:46:26 +00:00
FrankenPHP gives superpowers to your PHP apps thanks to its stunning features: [*Early Hints* ](docs/early-hints.md ), [worker mode ](docs/worker.md ), [real-time capabilities ](docs/mercure.md ), automatic HTTPS, HTTP/2, and HTTP/3 support...
2022-10-14 10:20:57 +00:00
2023-12-01 16:26:21 +00:00
FrankenPHP works with any PHP app and makes your Symfony projects faster than ever thanks to the provided integration with the worker mode (Laravel Octane support coming).
2022-10-14 10:20:57 +00:00
FrankenPHP can also be used as a standalone Go library to embed PHP in any app using `net/http` .
2023-07-02 18:46:26 +00:00
[**Learn more** on *frankenphp.dev* ](https://frankenphp.dev ) and in this slide deck:
2022-10-14 15:14:17 +00:00
< a href = "https://dunglas.dev/2022/10/frankenphp-the-modern-php-app-server-written-in-go/" > < img src = "https://dunglas.dev/wp-content/uploads/2022/10/frankenphp.png" alt = "Slides" width = "600" > < / a >
2022-10-14 10:20:57 +00:00
2022-10-13 16:05:22 +00:00
## Getting Started
2021-09-24 16:52:20 +00:00
2023-09-20 12:15:41 +00:00
```console
2022-10-13 16:05:22 +00:00
docker run -v $PWD:/app/public \
-p 80:80 -p 443:443 \
dunglas/frankenphp
2022-10-04 12:36:03 +00:00
```
2022-05-18 09:52:24 +00:00
2022-10-14 10:20:57 +00:00
Go to `https://localhost` , and enjoy!
2021-09-24 16:52:20 +00:00
2023-09-20 12:15:41 +00:00
If you prefer not to use Docker, we provide standalone FrankenPHP binaries for Linux and macOS
2023-11-25 05:49:33 +00:00
containing [PHP 8.3 ](https://www.php.net/releases/8.3/en.php ) and most popular PHP extensions: [Download FrankenPHP ](https://github.com/dunglas/frankenphp/releases )
2023-09-20 12:15:41 +00:00
2022-10-16 09:33:58 +00:00
> Note: do not attempt to use `https://127.0.0.1`. Use `localhost` and accept the self-signed certificate. Caddy has an automatic TLS handling that auto-trusts some local-based hostnames like `localhost`, but it does not apply to IP addresses. More details [on Caddy's "automatic https" docs](https://caddyserver.com/docs/automatic-https#hostname-requirements).
2022-10-13 16:05:22 +00:00
## Docs
2021-09-24 16:52:20 +00:00
2022-10-14 10:20:57 +00:00
* [The worker mode ](docs/worker.md )
2022-10-13 16:05:22 +00:00
* [Early Hints support (103 HTTP status code) ](docs/early-hints.md )
2022-10-14 10:20:57 +00:00
* [Real-time ](docs/mercure.md )
* [Configuration ](docs/config.md )
2022-11-03 08:04:29 +00:00
* [Docker images ](docs/docker.md )
2022-10-14 10:20:57 +00:00
* [Compile from sources ](docs/compile.md )
2023-09-20 12:15:41 +00:00
* [Create static binaries ](docs/static.md )
2023-09-28 13:45:18 +00:00
* [Known issues ](docs/known-issues.md )
2022-11-03 08:04:29 +00:00
* [Demo app (Symfony) and benchmarks ](https://github.com/dunglas/frankenphp-demo )
2022-10-14 10:20:57 +00:00
* [Go library documentation ](https://pkg.go.dev/github.com/dunglas/frankenphp )
2022-10-15 16:42:24 +00:00
* [Contributing and debugging ](CONTRIBUTING.md )
2022-11-01 07:48:55 +00:00
## Examples and Skeletons
2023-09-28 13:49:08 +00:00
* [Symfony ](https://github.com/dunglas/symfony-docker )
* [API Platform ](https://api-platform.com/docs/distribution/ )
2023-10-03 15:32:17 +00:00
* [Laravel ](docs/laravel.md )
2023-09-28 13:49:08 +00:00
* [Sulu ](https://sulu.io/blog/running-sulu-with-frankenphp )
2022-11-08 16:49:10 +00:00
* [WordPress ](https://github.com/dunglas/frankenphp-wordpress )
* [Drupal ](https://github.com/dunglas/frankenphp-drupal )
2023-11-07 17:22:44 +00:00
* [Joomla ](https://github.com/alexandreelise/frankenphp-joomla )