cydrickn/swoole-runtime

There is no license information available for the latest version (0.1.0) of this package.

Swoole / Openswoole Runtime

0.1.0 2025-05-20 16:57 UTC

This package is auto-updated.

Last update: 2025-05-20 17:02:32 UTC


README

A Symfony Runtime package that provides OpenSwoole integration for high-performance PHP applications. This package extends Symfony's Runtime component to support OpenSwoole server and hot reloading, enabling you to run your Symfony applications with improved performance and concurrent request handling.

Features

  • OpenSwoole server integration for Symfony applications
  • Support for both HTTP Kernel and callable applications
  • Hot reload capability for development (optional)
  • Configurable server settings
  • Environment variable support for configuration

Requirements

  • PHP 8.1 or higher
  • OpenSwoole extension
  • Symfony 7.2 or higher

Installation

You can install the package via Composer:

composer require cydrickn/runtime

Usage

Basic Usage

To use the runtime in your Symfony application, create a runtime.php file in your project root:

APP_RUNTIME=\\Cydrickn\\Runtime\\Runtime php ./public/index.php

Configuration Options

The runtime supports various configuration options that can be set either in the options array or through environment variables:

Option Environment Variable Default Description
host SWOOLE_HOST 127.0.0.1 Server host address
port SWOOLE_PORT 8000 Server port
mode SWOOLE_MODE 2 Server mode (SWOOLE_PROCESS)
sock_type SWOOLE_SOCK_TYPE 1 Socket type (SWOOLE_SOCK_TCP)
hot_reload SWOOLE_HOT_RELOAD 0 Enable hot reload (1) or disable (0)
base_path SWOOLE_BASE_PATH DIR Base path for hot reload

Hot Reload

For development, you can enable hot reload functionality by installing the optional cydrickn/php-watcher package:

composer require --dev cydrickn/php-watcher

in your .env

SWOOLE_HOT_RELOAD=1

Using .env File

You can also add the runtime configuration to your .env file:

APP_RUNTIME=\\Cydrickn\\Runtime\\Runtime

Then run your application normally:

php ./public/index.php

Development

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This package is open-sourced software licensed under the MIT License.

Author

Credits

This package is built on top of: