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

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article