2020-10-16 20:31:09 +13:00
|
|
|
<?php
|
|
|
|
|
2021-06-16 03:11:07 +12:00
|
|
|
use Appwrite\Extend\PDO;
|
2021-06-14 22:48:31 +12:00
|
|
|
use Appwrite\Realtime\Server;
|
2021-06-16 03:11:07 +12:00
|
|
|
use Utopia\App;
|
2021-02-25 06:12:38 +13:00
|
|
|
|
2021-06-14 22:48:31 +12:00
|
|
|
require_once __DIR__ . '/init.php';
|
2020-10-16 20:31:09 +13:00
|
|
|
|
2020-10-20 04:09:53 +13:00
|
|
|
Swoole\Runtime::enableCoroutine(SWOOLE_HOOK_ALL);
|
2020-10-19 00:51:16 +13:00
|
|
|
|
2021-06-14 22:48:31 +12:00
|
|
|
$config = [
|
2021-03-02 04:13:10 +13:00
|
|
|
'package_max_length' => 64000 // Default maximum Package Size (64kb)
|
2021-06-14 22:48:31 +12:00
|
|
|
];
|
2020-10-16 20:31:09 +13:00
|
|
|
|
2021-06-16 03:11:07 +12:00
|
|
|
$register->set('db', function () {
|
|
|
|
$dbHost = App::getEnv('_APP_DB_HOST', '');
|
|
|
|
$dbUser = App::getEnv('_APP_DB_USER', '');
|
|
|
|
$dbPass = App::getEnv('_APP_DB_PASS', '');
|
|
|
|
$dbScheme = App::getEnv('_APP_DB_SCHEMA', '');
|
|
|
|
|
|
|
|
$pdo = new PDO("mysql:host={$dbHost};dbname={$dbScheme};charset=utf8mb4", $dbUser, $dbPass, array(
|
|
|
|
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
|
|
|
|
PDO::ATTR_TIMEOUT => 3, // Seconds
|
|
|
|
PDO::ATTR_PERSISTENT => true,
|
|
|
|
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
|
|
|
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
|
|
|
));
|
|
|
|
|
|
|
|
return $pdo;
|
|
|
|
});
|
|
|
|
$register->set('cache', function () { // Register cache connection
|
|
|
|
$redis = new Redis();
|
|
|
|
$redis->pconnect(App::getEnv('_APP_REDIS_HOST', ''), App::getEnv('_APP_REDIS_PORT', ''));
|
|
|
|
$redis->setOption(Redis::OPT_READ_TIMEOUT, -1);
|
|
|
|
|
|
|
|
return $redis;
|
|
|
|
});
|
|
|
|
|
2021-06-16 21:09:12 +12:00
|
|
|
$realtimeServer = new Server($register, port: App::getEnv('PORT', 80), config: $config);
|