News

FrankenPHP v1.0 is Here

Published Updated
FrankenPHP v1.0 is Here image

FrankenPHP just hit a significant milestone this week, reaching a v1.0 release. A modern PHP application server written in Go, FrankenPHP gives you a production-grade PHP server with just one command.

It includes native support for Symphony, Laravel, WordPress, and more:

  • Production-grade PHP server, powered by Caddy
  • Easy deploy - package your PHP apps as a standalone, self-executable binary
  • Run only one service - no more separate PHP-FPM and Nginx processes
  • Extensible - compatible with PHP 8.2+, most PHP extensions, and all Caddy modules
  • Worker mode - boot your application once and keep it in memory
  • Real-time events sent to the browser as a JavaScript event
  • Zstandard and Gzip compression
  • Structured logging
  • Monitor Caddy with built-in Prometheus metrics
  • Native support for HTTPS, HTTP/2 and HTTP/3
  • Automatic HTTPS certificates and renewals
  • Graceful release - deploy your apps with zero downtime
  • Support for Early Hints

Is there support for FrakenPHP in Laravel Octane? Not yet, but there is an active pull request to Add support for FrankenPHP to Laravel Octane.

Which PHP modules are supported? I tried looking for a definitive list, but from what I gather most popular PHP extensions should work. The documentation confirms that OPcache and Debug are natively supported by FrankenPHP.

FrakenPHP uses static-php-cli to make builds, so this list of extensions should be accurate in which extensions are supported (hat tip to Francis Lavoie).

Learn more

You can get started with FrankenPHP at frankenphp.dev, and browse the documentaion to learn about the worker mode, Docker images, and creating static binaries of your application.

If you want to experiment with your application, the easiest way to try it out is to run the following Docker command:

docker run -v $PWD:/app/public \
-p 80:80 -p 443:443 \
dunglas/frankenphp

For Laravel, you'll need to run the following Docker command (the FrankenPHP Laravel docs have complete setup instructions):

docker run -p 443:443 -v $PWD:/app dunglas/frankenphp

You can also run the frankenphp binary in macOS and Linux if you'd rather not use Docker.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Laravel monitoring that doesn't bill you by your traffic image

Laravel monitoring that doesn't bill you by your traffic

Read article
Mock PHP Classes in Tests With the Double Library image

Mock PHP Classes in Tests With the Double Library

Read article
Laravel Discount: Coupon Codes, Usage Limits, and Stacking image

Laravel Discount: Coupon Codes, Usage Limits, and Stacking

Read article
Laravel Truss: Live Interactive Database ER Diagrams image

Laravel Truss: Live Interactive Database ER Diagrams

Read article
Laravel artisan dev: Run Server, Queue, Logs, and Vite image

Laravel artisan dev: Run Server, Queue, Logs, and Vite

Read article
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article