nytris / turbo
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=8.1
- composer-runtime-api: ^2.2
- asmblah/php-code-shift: ^0.1
- lisachenko/protocol-fcgi: ^3.0.0
- nytris/nytris: ^0.1
- react/child-process: ^0.6.6
- react/http: ^1.11
- react/socket: ^1.16
- react/stream: ^1.4
- symfony/console: ^5.4
- tasque/event-loop: ^0.1
- tasque/tasque: ^0.1
Requires (Dev)
- asmblah/fast-cgi: ^0.1
- mockery/mockery: 1.6.11
- phpstan/phpstan: ^1.10
- phpstan/phpstan-mockery: ^1.1
- phpunit/phpunit: ^10.2
- symfony/filesystem: ^5.4
- symfony/http-foundation: ^5.4
- symfony/http-kernel: ^5.4
This package is auto-updated.
Last update: 2025-03-10 10:18:04 UTC
README
[EXPERIMENTAL] Turbocharged HTTP/FastCGI for PHP.
What is it?
Handle multiple HTTP/FastCGI requests concurrently per process for maximum resource utilisation.
How does it work?
Provides a FastCGI server that spawns multiple long-lived worker processes to handle requests. This allows the environment to be reused between requests, which is much more efficient when that environment is a booted Symfony kernel for example.
Usage
Install this package with Composer:
$ composer require nytris/turbo
Configure Nytris platform:
nytris.config.php
<?php declare(strict_types=1); use Nytris\Boot\BootConfig; use Nytris\Boot\PlatformConfig; use Nytris\Turbo\TurboPackage; $bootConfig = new BootConfig(new PlatformConfig(__DIR__ . '/var/cache/nytris/')); $bootConfig->installPackage(new TurboPackage( )); return $bootConfig;
Start the CGI worker pool
$ vendor/bin/turbo
ignition
process spawns manifold
, which in turn spawns the pool of CGI cylinder
processes.
ignition
is used to restart manifold
and cylinder
when needed, such as following a deployment
of new code.
ignition
takes no arguments, instead configuration is done through the Nytris package installation
in nytris.config.php
as documented above.