mako/afterburner

(实验性) 通过在FrankenPHP等应用服务器上运行,提升您的应用程序性能

dev-master / 1.0.x-dev 2024-02-05 08:23 UTC

This package is auto-updated.

Last update: 2024-09-05 09:44:22 UTC


README

Static analysis

mako/afterburner包允许您通过在类似FrankenPHP的应用服务器上运行应用程序来提升您的应用程序性能。

性能提升将根据应用程序的不同而有所差异,但一个基本的“Hello, world!”应用程序将比在php+apache配置上运行快4-5倍。

请注意,此包为实验性,请确保通过使用静态变量来避免请求之间的数据泄露!

要求

Mako 11.0或更高版本。

安装

首先,您需要将包作为项目的依赖项进行安装。

composer require mako/afterburner

接下来,您需要将index.php的内容替换为以下内容。

<?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));

最后,您应该在app/config/application.php中将error_handler.register设置为false来禁用错误处理器的自动注册。

这就完成了!享受您的(希望如此)提升的性能吧 🎉

Docker配置

以下基本Dockerfile将帮助您开始

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"