Swoole
Back to home
On this page
Note
You can now use composable image (BETA) to install runtimes and tools in your application container. To find out more, see the dedicated documentation page.
Swoole is a PHP extension that extends PHP core with a coroutine based asynchronous network application framework designed for building large scale concurrent systems.
Unlike PHP-FPM’s stateless operating, Swoole relies on establishing persistent connections with every user, sending and receiving data in real-time.
Swoole and Open Swoole are two forked libraries pursuing that goal.
Note
The swoole
and openswoole
extensions are available by default on Upsun PHP 8.2 Upsun containers.
For other versions of PHP, you can install both extensions manually by following the instructions on this page. You need:
- PHP 7.3+ for Swoole
- PHP 7.4.0+ for Open Swoole
- The Swoole installation script.
Note
Currently, the installation script is compatible with PHP <=8.0.It is not compatible with PHP 8.3, and the
swoole
andopenswoole
extensions are not available on Upsun PHP 8.3 containers yet.
Install
Install the PHP extension for Swoole or Open Swoole during the build.
Take advantage of an installation script. You need to pass 2 parameters:
- Which Swoole project to use:
openswoole
orswoole
- Which version to install
applications:
app:
type: 'php:<VERSION>'
hooks:
build: |
set -e
...
curl -fsS https://raw.githubusercontent.com/platformsh/snippets/main/src/install_swoole.sh | { bash /dev/fd/3 openswoole 4.11.0 ; } 3<&0
Use
Override the default web server with a custom start command. Octane should listen on a TCP socket.
applications:
myapp:
type: 'php:8.4'
web:
upstream:
socket_family: tcp
protocol: http
commands:
start: php PATH_TO_SWOOLE_START_COMMAND --port=$PORT
locations:
"/":
passthru: true
scripts: false
allow: false