mako / afterburner
(Experimental) Boost your application performance by running it on a application server like FrankenPHP
Requires
- php: >=8.2.0
Requires (Dev)
- mako/framework: ^11.0.0-dev
- phpstan/phpstan: ^1.10.57
This package is auto-updated.
Last update: 2024-11-05 10:03:29 UTC
README
The mako/afterburner
package allows you to boost your application performance by running it on an application server like FrankenPHP.
The performance gains will vary based on the application but a basic "Hello, world!" application will run about 4-5 times faster than on a php+apache setup.
Note that this package is experimental and make sure not to leak data between requests by using static variables!
Requirements
Mako 11.0 or greater.
Installation
First you'll need to install the package as a dependency to your project.
composer require mako/afterburner
Next you'll have to replace the index.php
contents with the following.
<?php use mako\afterburner\FrankenPHP; use mako\application\web\Application; /** * Include the application init file. */ include dirname(__DIR__) . '/app/init.php'; /* * Start and run the application. */ FrankenPHP::run(new Application(MAKO_APPLICATION_PATH));
Finally, you should disable auto-registration of the error handler by setting error_handler.register
to false
in app/config/application.php
.
That's it! Enjoy your (hopefully) improved performance 🎉
Docker setup
The following basic dockerfile will help to get you started:
FROM dunglas/frankenphp:1.1.0-php8.3.2 RUN install-php-extensions \ opcache COPY app /app/app COPY public /app/public COPY vendor /app/vendor ENV SERVER_NAME="http://" ENV FRANKENPHP_CONFIG="worker ./public/index.php"