Skip to content

staabm/aerys

 
 

Repository files navigation

Aerys Build Status

A non-blocking HTTP/1.1 application, websocket and static file server written in PHP.

Though Aerys has been iterated on for quite a while there no official tagged releases (yet). APIs are still subject to change and you may run into rogue bugs features. We love PRs, though :)

Selected Built-in Features ...

  • Static file serving
  • Websockets
  • Dynamic app endpoint routing
  • Name-based virtual hosting
  • Full TLS support
  • Customizable GZIP output compression
  • HTTP/2.0 support
  • Middleware hooks

Requirements

  • PHP 7

Installation

$ composer require amphp/aerys

Documentation

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).

Add a -d switch to see some debug output like the routes called etc.:

$ php bin/aerys -d -c demo.php

Config File

Use the -c, --config switches to define the config file:

$ php bin/aerys -c /path/to/my/config.php

Use the -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

@TODO

About

A non-blocking HTTP application, WebSocket and file server.

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

Languages

  • PHP 100.0%