This package is abandoned and no longer maintained. The author suggests using the mezzio/mezzio-swoole package instead.

Swoole support for Expressive

2.5.0 2019-11-22 16:30 UTC


Repository abandoned 2019-12-31

This repository has moved to mezzio/mezzio-swoole.

Build Status Coverage Status

This library provides the support of Swoole into an Expressive application. This means you can execute your Expressive application using Swoole directly from the command line.


Run the following to install this library:

$ composer require zendframework/zend-expressive-swoole


After installing zend-expressive-swoole, you will need to first enable the component, and then optionally configure it.

We recommend adding a new configuration file to your autoload directory, config/autoload/swoole.local.php. To begin with, use the following contents:


use Zend\Expressive\Swoole\ConfigProvider;

return array_merge((new ConfigProvider())(), []);

The above will setup the Swoole integration for your application.

By default, Swoole executes the HTTP server with host on port 8080. You can change these values via configuration. Assuming you have the above, modify it to read as follows:


use Zend\Expressive\Swoole\ConfigProvider;

return array_merge((new ConfigProvider())(), [
    'zend-expressive-swoole' => [
        'swoole-http-server' => [
            'host' => 'insert hostname to use here',
            'port' => 80, // use an integer value here

Expressive skeleton 3.1.0 and later

If you have built your application on the 3.1.0 or later version of the Expressive skeleton, you do not need to instantiate and invoke the package's ConfigProvider, as the skeleton supports it out of the box.

You will only need to provide any additional configuration of the HTTP server.


Once you have performed the configuration steps as outlined above, you can run an Expressive application with Swoole using the following command:

$ ./vendor/bin/zend-expressive-swoole start

Call the command without arguments to get a list of available commands, and use the help meta-argument to get help on individual commands:

$ ./vendor/bin/zend-expressive-swoole help start


Browse the documentation online at https://docs.zendframework.com/zend-expressive-swoole/