2017-12-16 20:17:29 +01:00
|
|
|
<?php
|
|
|
|
namespace Misuzu;
|
|
|
|
|
2025-04-03 19:40:10 +00:00
|
|
|
define('MSZ_STARTUP', hrtime(true));
|
2018-10-04 22:30:55 +02:00
|
|
|
define('MSZ_ROOT', __DIR__);
|
2019-04-30 22:55:12 +02:00
|
|
|
|
2025-02-09 20:44:10 +00:00
|
|
|
require_once __DIR__ . '/vendor/autoload.php';
|
2018-09-16 21:45:40 +02:00
|
|
|
|
2025-04-03 19:40:10 +00:00
|
|
|
$msz = (function() {
|
|
|
|
$timings = new \Index\Performance\Timings(
|
|
|
|
new \Index\Performance\Stopwatch(MSZ_STARTUP),
|
|
|
|
);
|
|
|
|
|
|
|
|
try {
|
|
|
|
\Dotenv\Dotenv::createImmutable(Misuzu::PATH_ROOT)->load();
|
|
|
|
|
2025-04-11 18:02:38 +00:00
|
|
|
$sentry = Misuzu::env('SENTRY_DSN');
|
|
|
|
if(!empty($sentry))
|
|
|
|
\Sentry\init(['dsn' => $sentry]);
|
2025-04-03 19:40:10 +00:00
|
|
|
|
|
|
|
$whoops = new \Whoops\Run;
|
|
|
|
if(Misuzu::cli())
|
|
|
|
$whoops->pushHandler(new Whoops\SentryPlainTextHandler);
|
|
|
|
elseif(Misuzu::debug())
|
|
|
|
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
|
|
|
|
else
|
|
|
|
$whoops->pushHandler(new Whoops\SentryPageHandler);
|
|
|
|
|
|
|
|
$whoops->register();
|
|
|
|
|
|
|
|
return new MisuzuContext(
|
|
|
|
$timings,
|
2025-04-11 18:02:38 +00:00
|
|
|
Misuzu::env('DATABASE_DSN', 'null:'),
|
|
|
|
Misuzu::env('DOMAIN_ROLES', 'localhost=main,redirect,storage'),
|
|
|
|
Misuzu::env('STORAGE_PATH_LOCAL', Misuzu::PATH_STORAGE),
|
|
|
|
Misuzu::env('STORAGE_PATH_REMOTE', '/_storage'),
|
|
|
|
Misuzu::env('TEMPLATE_CACHE', ''),
|
2025-04-03 19:40:10 +00:00
|
|
|
);
|
|
|
|
} finally {
|
|
|
|
$timings->lap('startup');
|
|
|
|
}
|
|
|
|
})();
|