require ROOT_DIR . '/view/_error/500.php'; } echo ob_get_clean(); die(1); }); try { $resp = app()->run(); } catch (Lysine\HttpError $ex) { if (req()->isAjax()) { throw $ex; } $code = $ex->getCode(); if ($code == 404) { $resp = resp()->reset()->setCode($code)->setBody(render_view('_error/404', array('exception' => $ex))); } else { throw $ex; } } $profiler = Lysine\Utils\Profiler::instance(); $profiler->end(true); $resp->setHeader('X-Runtime: ' . round($profiler->getRuntime('__MAIN__') ?: 0, 6))->sendHeader(); echo $resp; // 尽快返回结果给fastcgi,剩下的环境清理工作已经和客户端无关 // php-fpm fastcgi特性 // // 如果使用FirePHP/FireLogger这种通过header传递数据的调试工具 // 由于这些工具的header输出步骤都是注册到register_shutdown_function() // 所以会在fastcgi_finish_request()之后才产生,客户端无法拿到调试信息 if (!DEBUG && PHP_SAPI == 'fpm-fcgi') { fastcgi_finish_request(); }
<?php define('ROOT_DIR', realpath(__DIR__ . '/../')); define('DEBUG', true); require __DIR__ . '/../../../framework/core.php'; Lysine\Utils\Profiler::instance()->start('__MAIN__'); Lysine\Config::import(require ROOT_DIR . '/config/_config.php'); app()->includePath(ROOT_DIR); // 系统日志,根据需要开启,需要创建ROOT_DIR .'/logs'目录 //use Lysine\Utils\Logging; //Lysine\logger() // ->setLevel(DEBUG ? Logging::DEBUG : Logging::ERROR) // ->addHandler(new Logging\FileHandler('sys_log'));