文档/启动应用程序/Swoole

Swoole

Open Swoole(以前称为 Swoole)是一个高性能的 PHP 异步子进程执行平台。

Swoole 作为一个扩展安装到 PHP 中。 目前,Swoole 仅支持 LinuxMac

需要注意的是,Swoole 不支持 xDebug,这是 PHP 生态系统中最流行的调试工具,并且与其他一些性能剖析和监控工具不兼容。

为了确保使用此技术启动的应用程序正常运行,必须开发支持异步模式。

在异步模式中,已加载的框架配置、类、初始化的服务和缓存的数据将被重用,从而显著加速性能。
但是,也存在一些特点,例如需要更加密切地监控内存泄漏并消除阻塞操作,许多熟悉的第三方库不支持异步模式。
在应用程序的逻辑部分存储状态变得不合适,尤其是当它与请求相关时。

框架的 RollbackInterface 旨在每次异步请求后重置状态

对于 Swoole,您需要修改 /public/index.php 文件,以确保 HLEB2 框架在循环中运行。 一个基本的工作示例:

<?php
// File /public/index.php

// use Swoole\Http\{Request, Response, Server};
use OpenSwoole\Http\{RequestResponseServer};

include 
__DIR__ "/../vendor/autoload.php";

$http = new Server('127.0.0.1'9504);
$http->set([
    
'log_file' => '/dev/stdout'
]);

// Framework initialization outside the loop.
$framework = new Hleb\HlebAsyncBootstrap(__DIR__);

$http->on('request', function ($requestResponse $response) use ($framework) {
    
// Getting an object with a response.
    
$res $framework->load($request)->getResponse();
    foreach (
$res->getHeaders() as $name => $header) {
        
$response->header($name$header);
    }
    
$response->status($res->getStatus(), (string)$res->getReason());
    
$response->end($res->getBody());
});

$http->start();

使用控制台命令启动 Swoole 服务器:

$php ./public/index.php

根据配置,应用程序可以通过以下地址访问:
http://localhost:9504

RoadRunner 服务器 使用托管

页面翻译:chatgpt 4-o
返回顶部