Пример простой реализации сервера на ReactPHP, который в качестве ответа на запрос стримит локальное видео.
Если вы перейдете на сайт ReactPHP — reactphp.org. В самом верху страницы показан пример простого сервера, который слушает 8080 порт и в качестве ответа возвращает строку «Hello World!». Я немного изменил этот пример, чтобы было интереснее. В моем примере, в качестве ответа, сервер транслирует видеофайл.
В первую очередь нужно установить зависимости из библиотеки ReactPHP, используя composer:
composer require react/http react/socket
Далее сохранить код из примера ниже в файл. Также нужно добавить видеофайл в папку сphp-скриптом. В моем примере название видео — video.mp4.После чего php-скриптможно просто запустить в командной строке. Сервер будет работать. Для просмотра видео нужно перейти по адресу: http://127.0.0.1:8080.
<?php
require __DIR__ . '/vendor/autoload.php';
use React\Http\HttpServer;
use React\Http\Message\Response;
use React\Socket\SocketServer;
use Psr\Http\Message\ServerRequestInterface;
$http = new HttpServer(
function (ServerRequestInterface $request) {
return new Response(Response::STATUS_OK,
array('Content-Type' => 'video/mp4'),
file_get_contents('video.mp4'));
});
$socket = new SocketServer('127.0.0.1:8080');
$http->listen($socket);
echo "Сервер запущен по адресу http://127.0.0.1:8080" . PHP_EOL;
Материал с сайта phpnick.ru. Ссылка на материал - https://phpnick.ru/posts/category/php/78