I've been looking at FrankenPHP for a while because I really think it will help Drupal. I had fun looking into this, some of what I came across is below, whether it should be used like this or not I can't say yet :)
Let's assume we're in some flavor of Linux, with curl and sqlite3 already installed somewhere. PHP doesn't need to be installed:
curl https://frankenphp.dev/install.sh | sh
Now we have a version of FrankenPHP locally and we can have some fun. FrankenPHP comes with PHP so we can use this to install composer and Drupal:
# Get composer
./frankenphp php-cli -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
./frankenphp php-cli composer-setup.php
# Get Drupal source code
./frankenphp php-cli composer.phar create-project drupal/recommended-project frankenpal
Because we only have the code, we need to install Drupal. I'm using Drush here, if you want to do it manually just skip this part and use the graphic installer once the webserver is running:
cd frankenpal
# Require Drush and install the demo site
../frankenphp php-cli ../composer.phar require drush/drush
../frankenphp php-cli ./vendor/bin/drush.php si --db-url=sqlite://./db.sqlite --site-name=FrankenPal
To start the webserver, get the Drupal Caddyfile from the issue queue and run FrankenPHP:
cd web
# Get the Drupal Caddyfile
curl -o Caddyfile https://git.drupalcode.org/project/drupal/-/raw/0876e2ea78cdd4d1924937a3adb75f551738afea/Caddyfile
# Change the port if needed, the default is :80
sed -i 's/localhost/:8080/' Caddyfile
# Serve the website!
../../frankenphp run
And voilà , the website is running on http://localhost:8080/. It is a proper server, none of the warnings you get from using drush runserver
I really think FrankenPHP can shake things up on the hosting side of Drupal. I've said that Drupal needs infrastructure innovation, I think this is one answer. With FrankenPHP we can also have a proper real-time push events, no more nodejs server on the side to power a chat or concurrent editing inside of Drupal. And when we get the backend in order so we can use the worker mode of FrankenPHP, performance improvements should be pretty dramatic (and hopefully reduce hosting costs).
If you're interested in exploring FrankenPHP at a bigger scale I'm more than happy to talk, I'm still looking for a couple of sponsors or Drupal contract work, let me know!