HeavyHorst / php-roadrunner-template

OpenFaaS php roadrunner HTTP Template

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

php-roadrunner-template

OpenFaaS php roadrunner HTTP Template

This repository contains a PHP http-template for OpenFaaS that is based on https://github.com/spiral/roadrunner.

Usage

faas template pull https://github.com/HeavyHorst/php-roadrunner-template
faas-cli new --lang php7-roadrunner function_name

You will find in the newly created directory my-function:

  • worker.php : entrypoint
  • php-extension.sh : is for installing PHP extensions if needed
  • composer.json : is for dependency management

Extra Extensions

You can refer to the PHP Docker image documentation for additional instructions on the installation and configuration of extensions

Example

Edit the function_name/worker.php file to return some HTML:

<?php
// worker.php
ini_set('display_errors', 'stderr');
include "vendor/autoload.php";

$relay = new Spiral\Goridge\StreamRelay(STDIN, STDOUT);
$psr7 = new Spiral\RoadRunner\PSR7Client(new Spiral\RoadRunner\Worker($relay));

while ($req = $psr7->acceptRequest()) {
    try {
	$resp = new \Zend\Diactoros\Response();
	$parameters = $req->getQueryParams();
        $resp->getBody()->write("Yeah, it's working!");
        $psr7->respond($resp);
    } catch (\Throwable $e) {
        $psr7->getWorker()->error((string)$e);
    }
}

Deploy

faas-cli up -f function_name.yml

About

OpenFaaS php roadrunner HTTP Template

License:MIT License


Languages

Language:Dockerfile 60.5%Language:PHP 24.6%Language:Shell 14.9%