runtime/swoole

Swoole runtime

Fund package maintenance!
nyholm

Installs: 131 569

Dependents: 0

Suggesters: 0

Security: 0

Stars: 54

Watchers: 6

Forks: 8

0.4.0 2023-12-12 11:39 UTC

This package is auto-updated.

Last update: 2024-12-20 08:05:24 UTC


README

A runtime for Swoole.

If you are new to the Symfony Runtime component, read more in the main readme.

Installation

composer require runtime/swoole

Usage

Define the environment variable APP_RUNTIME for your application.

APP_RUNTIME=Runtime\Swoole\Runtime

Pure PHP

// public/index.php

use Swoole\Http\Request;
use Swoole\Http\Response;

require_once dirname(__DIR__) . '/vendor/autoload_runtime.php';

return function () {
    return function (Request $request, Response $response) {
        $response->header("Content-Type", "text/plain");
        $response->end("Hello World\n");
    };
};

Symfony

// public/index.php

use App\Kernel;

require_once dirname(__DIR__) . '/vendor/autoload_runtime.php';

return function (array $context) {
    return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};

Using Options

You can define some configurations using Symfony's Runtime APP_RUNTIME_OPTIONS API.

// public/index.php

use App\Kernel;

$_SERVER['APP_RUNTIME_OPTIONS'] = [
    'host' => '0.0.0.0',
    'port' => 9501,
    'mode' => SWOOLE_BASE,
    'settings' => [
        'worker_num' => swoole_cpu_num() * 2,
        'enable_static_handler' => true,
        'document_root' => dirname(__DIR__) . '/public'
    ],
];

require_once dirname(__DIR__) . '/vendor/autoload_runtime.php';

return function (array $context) {
    return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
};