amphp/aerys is a non-blocking HTTP/1.1 and HTTP/2 application, websocket and static file server written in PHP based on the
amp concurrency framework.
Aerys has currently a few 0.x tags. APIs are still subject to very small changes and you may run into rogue
bugs features. We love PRs, though :-)
Selected Built-in Features ...
- Static file serving
- Dynamic app endpoint routing
- Name-based virtual hosting
- Full TLS support
- Customizable GZIP output compression
- HTTP/2.0 support
- Middleware hooks
- PHP 7
$ composer require amphp/aerys
Running a Server
$ php bin/aerys -c demo.php
Simply execute the aerys binary (with php7) to start a server listening on
http://localhost/ using the default configuration file (packaged with the repo).
-d switch to see some debug output like the routes called etc.:
$ php bin/aerys -d -c demo.php
-c, --config switches to define the config file:
$ php bin/aerys -c /path/to/my/config.php
-h, --help switches for more instructions.
Static File Serving
To start a static file server simply pass a root handler as part of your config file.
(new Aerys\Host) ->expose("*", 1337) ->use(Aerys\root(__DIR__ . "/public"));
Example Host Configurations