Problem/Motivation

I'd like to be able to run the core tests with FrankenPHP as the webserver, see #3437187: Add Caddyfile configuration.

Down the line it'll help us test Drupal in an application-server situation #2218651: [meta] Make Drupal compatible with persistent app servers like ReactPHP, PHP-PM, PHPFastCGI, FrankenPHP, Swoole.

The docker documentation is at: https://frankenphp.dev/docs/docker/

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

nod_ created an issue. See original summary.

mstrelan’s picture

Perhaps as a starting point we could just add the frankenphp static binary to an existing image (like drupalci/php-8.2-cli) and work to build our own image over time.

We also need to configure a valid SSL certificate or disable HTTPS by setting the env var SERVER_NAME=:80.

andypost’s picture

++ to add new image but I think it needs own build process as other images doing

Maybe before that create a base php:8.3-ts image, the rest could be build from it

andypost’s picture

mstrelan’s picture

I attempted to build this and run it in Drupal Gitlab CI but ran in to issues with file permissions and ownership. I have been able to run it in Github Actions which passes tests until the runner reaches the disk space limit. I've reached a point where I need help to proceed further. Happy for feedback on mstrelan/drupalci-frankenphp but probably be good to start an MR here.

andypost’s picture

Assigned: Unassigned » andypost

all images been updated to 8.3.11 and there was new golang/frankenphp releases

andypost’s picture

  • andypost committed 10a021a0 on dev
    Issue #3438767 by andyport: add 8.3-ubuntu-frankenphp
    
andypost’s picture

Assigned: andypost » Unassigned

  • andypost committed 7bb97f51 on dev
    Issue #3438767 by andyport: add 8.3-ubuntu-frankenphp
    

  • andypost committed 55ac1f87 on dev
    Issue #3438767 by andyport: add 8.3-ubuntu-frankenphp
    
nicxvan’s picture

How would we go about using this to test?

el7cosmos’s picture

frankenphp server won't start properly on https://www.drupal.org/project/drupal/issues/3437187.

running frankenphp php-server -a -d gives

Error: flag needs an argument: 'd' in -d

we should get rid of -d or pass something like localhost.

nod_’s picture

we should use the Caddyfile from #3437187: Add Caddyfile configuration and frankenphp run.

I have some setup steps maybe that could help see how it's running? https://tresbien.tech/blog/drupal-and-php-fun-frankenphp/

  • andypost committed 234d6994 on dev
    PHP: added 8.5-ubuntu-frankenphp and fix 8.3 #3438767
    

  • andypost committed 1b50976f on dev
    PHP: added 8.5-ubuntu-frankenphp and fix 8.3 #3438767
    
andypost’s picture

make it work locally but it need more tuning to run tests properly in subdirectory