1
0
Fork 0
mirror of synced 2024-06-18 18:54:55 +12:00
appwrite/app/server.php

89 lines
2.1 KiB
PHP
Raw Normal View History

2020-06-26 21:54:37 +12:00
<?php
require_once __DIR__.'/../vendor/autoload.php';
2020-06-27 00:27:58 +12:00
use Appwrite\Utopia\Request;
use Appwrite\Utopia\Response;
use Swoole\Process;
use Swoole\Http\Server;
2020-06-26 21:54:37 +12:00
use Swoole\Http\Request as SwooleRequest;
use Swoole\Http\Response as SwooleResponse;
2020-06-27 00:27:58 +12:00
use Utopia\App;
use Utopia\CLI\Console;
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
2020-06-26 21:54:37 +12:00
2020-06-27 00:27:58 +12:00
$http = new Server("localhost", 9501);
2020-07-01 20:55:14 +12:00
2020-06-27 00:27:58 +12:00
$http
2020-06-26 21:54:37 +12:00
->set([
'open_http2_protocol' => true,
'document_root' => __DIR__ . '/../public',
'enable_static_handler' => true,
'timeout' => 4,
])
;
2020-06-27 00:27:58 +12:00
$http->on('WorkerStart', function($serv, $workerId) {
Console::success('Worker '.$workerId.' started succefully');
2020-06-26 21:54:37 +12:00
});
2020-06-27 00:27:58 +12:00
$http->on('BeforeReload', function($serv, $workerId) {
2020-06-26 21:54:37 +12:00
Console::success('Starting reload...');
});
2020-06-27 00:27:58 +12:00
$http->on('AfterReload', function($serv, $workerId) {
2020-06-26 21:54:37 +12:00
Console::success('Reload completed...');
});
2020-06-27 00:27:58 +12:00
$http->on('start', function (Server $http) {
Console::success('Server started succefully');
printf("x master pid %d, manager pid %d\n", $http->master_pid, $http->manager_pid);
2020-06-27 00:27:58 +12:00
// listen ctrl + c
Process::signal(2, function () use ($http) {
echo "Stop by Ctrl+C\n";
$http->shutdown();
});
2020-06-26 21:54:37 +12:00
});
2020-07-01 20:55:14 +12:00
$data = file_get_contents('../public/test.html');
// $register = new Registry();
// $utopia = new App('Asia/Tel_Aviv');
// /**
// * @var $request Request
// */
// $request &= null;
// $response &= null;
// include 'init.php';
// include 'app.php';
2020-06-27 00:27:58 +12:00
$counter = 0;
2020-06-27 00:27:58 +12:00
2020-07-01 20:55:14 +12:00
include __DIR__ . '/app.php';
$http->on('request', function (SwooleRequest $swooleRequest, SwooleResponse $swooleResponse) use (&$counter) {
2020-07-01 20:55:14 +12:00
$request = new Request($swooleRequest);
$response = new Response($swooleResponse);
//$swooleResponse->write($counter++);
$app = new App('Asia/Tel_Aviv');
2020-06-27 00:27:58 +12:00
try {
2020-07-01 20:55:14 +12:00
$app->run($request, $response);
2020-06-27 00:27:58 +12:00
} catch (\Throwable $th) {
var_dump($th->getMessage());
var_dump($th->getFile());
var_dump($th->getLine());
$swooleResponse->end('error: '.$th->getMessage());
}
2020-06-26 21:54:37 +12:00
});
2020-06-27 00:27:58 +12:00
$http->start();