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-12-06 23:01:51 +00:00
FrankenPHP gives superpowers to your PHP apps thanks to its stunning features: [*Early Hints* ](https://frankenphp.dev/docs/early-hints/ ), [worker mode ](https://frankenphp.dev/docs/worker/ ), [real-time capabilities ](https://frankenphp.dev/docs/mercure/ ), automatic HTTPS, HTTP/2, and HTTP/3 support...
2022-10-14 10:20:57 +00:00
2023-12-20 17:07:24 +00:00
FrankenPHP works with any PHP app and makes your Symfony and Laravel projects faster than ever thanks to the provided integration with the worker mode.
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-12-06 17:18:16 +00:00
### Docker
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-12-06 17:18:16 +00:00
> [!TIP]
>
> 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).
### Standalone Binary
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
2023-12-06 17:18:16 +00:00
To serve the content of the current directory, run:
```console
./frankenphp php-server
```
You can also run command-line scripts with:
```console
./frankenphp php-cli /path/to/your/script.php
```
2022-10-16 09:33:58 +00:00
2022-10-13 16:05:22 +00:00
## Docs
2021-09-24 16:52:20 +00:00
2023-12-06 23:01:51 +00:00
* [The worker mode ](https://frankenphp.dev/docs/worker/ )
* [Early Hints support (103 HTTP status code) ](https://frankenphp.dev/docs/early-hints/ )
* [Real-time ](https://frankenphp.dev/docs/mercure/ )
* [Configuration ](https://frankenphp.dev/docs/config/ )
* [Docker images ](https://frankenphp.dev/docs/docker/ )
2024-01-12 15:53:50 +00:00
* [Deploy in production ](docs/production.md )
2023-12-06 23:01:51 +00:00
* [Create **standalone**, self-executable PHP apps ](https://frankenphp.dev/docs/embed/ )
* [Create static binaries ](https://frankenphp.dev/docs/static/ )
* [Compile from sources ](https://frankenphp.dev/docs/compile/ )
* [Known issues ](https://frankenphp.dev/docs/known-issues/ )
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 )
2023-12-09 11:52:02 +00:00
* [Contributing and debugging ](https://frankenphp.dev/docs/contributing/ )
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-12-06 23:01:51 +00:00
* [Laravel ](https://frankenphp.dev/docs/laravel/ )
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 )
2023-12-23 20:01:22 +00:00
* [TYPO3 ](https://github.com/ochorocho/franken-typo3 )