<?php
error_reporting(E_ALL);

set_time_limit(0);

ob_implicit_flush();

$address = '127.0.0.1';
$port = 1337;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
	echo "Не удалось создать сокет, причина: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
	echo "Не удалось привязать сокет к адрресу, причина: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_listen($sock, 5) === false) {
	echo "Не удалось выполнить socket_listen(): причина: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
	if (($msgsock = socket_accept($sock)) === false) {
		echo "Не удалось выполнить socket_accept(): причина: " . socket_strerror(socket_last_error($sock)) . "\n";
        break;
	}
	$response = "HTTP/1.1 200 Ok\r\n";
	$response .= "Content-Type: text/html; charset=UTF-8\r\n\r\n";
	$response .= "<!DOCTYPE html><html><head></head><body>This is my own http server</body></html>";
	socket_write($msgsock, $response, strlen($response));
	socket_close($msgsock);
} while (true);

socket_close($sock);