<?php // +---------------------------------------------------------------------- // | CRMEB [ CRMEB赋能开发者,助力企业发展 ] // +---------------------------------------------------------------------- // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权 // +---------------------------------------------------------------------- // | Author: CRMEB Team <admin@crmeb.com> // +---------------------------------------------------------------------- namespace crmeb\utils; use think\App; /** * Start输出类 * Class Json * @package crmeb\utils */ class Start { protected $context = ''; const LINE = '------------------------------------------------'.PHP_EOL; public function show() { $this->opCacheClear(); $this->context = $this->logo(); $this->context .= self::LINE; $this->displayItem('php version', phpversion()); $this->displayItem('swoole version', phpversion('swoole')); $this->displayItem('swoole_loader version', phpversion('swoole_loader')); $this->displayItem('thinkphp version', App::VERSION); $this->displayItem('crmeb version', get_crmeb_version()); //http配置 $httpConf = \config("swoole.server"); $this->displayItem('http host', $httpConf["host"]); $this->displayItem('http port', $httpConf["port"]); $this->displayItem('http worker_num', $httpConf['options']["worker_num"]); //websocket配置 $this->displayItem('websocket enable', \config("swoole.websocket.enable")); //rpc配置 $rpcConf = \config("swoole.rpc.server"); $this->displayItem('rpc enable', $rpcConf["enable"]); if ($rpcConf["enable"]) { $this->displayItem('rpc host', $rpcConf["host"]); $this->displayItem('rpc port', $rpcConf["port"]); $this->displayItem('rpc worker_num', $rpcConf["worker_num"]); } //队列配置 $this->displayItem('queue enable', \config("swoole.queue.enable")); //热更新配置 $this->displayItem('hot_update enable', (bool)\config("swoole.hot_update.enable")); //debug配置 $this->displayItem('app_debug enable', (bool)env("APP_DEBUG")); $this->displayItem('time', date('Y-m-d H:i:s')); //打印信息 echo $this->context; } private function logo() { return <<<LOGO ██████ ███████ ████ ████ ████████ ██████ ████ ████ ████████ ███████ ██░░░░██░██░░░░██ ░██░██ ██░██░██░░░░░ ░█░░░░██ ░██░██ ██░██░██░░░░░ ░██░░░░██ ██ ░░ ░██ ░██ ░██░░██ ██ ░██░██ ░█ ░██ ░██░░██ ██ ░██░██ ░██ ░██ ░██ ░███████ ░██ ░░███ ░██░███████ ░██████ █████░██ ░░███ ░██░███████ ░███████ ░██ ░██░░░██ ░██ ░░█ ░██░██░░░░ ░█░░░░ ██░░░░░ ░██ ░░█ ░██░██░░░░ ░██░░░██ ░░██ ██░██ ░░██ ░██ ░ ░██░██ ░█ ░██ ░██ ░ ░██░██ ░██ ░░██ ░░██████ ░██ ░░██░██ ░██░████████░███████ ░██ ░██░████████░██ ░░██ ░░░░░░ ░░ ░░ ░░ ░░ ░░░░░░░░ ░░░░░░░ ░░ ░░ ░░░░░░░░ ░░ ░░ LOGO; } private function displayItem($name, $value) { if ($value === true) { $value = 'true'; } elseif ($value === false) { $value = 'false'; } elseif ($value === null) { $value = 'null'; } $this->context .= "\e[32m" . str_pad($name, 25, ' ', STR_PAD_RIGHT) .'| '. "\e[34m" . $value . "\e[0m \n"; $this->context .= self::LINE; } private function opCacheClear() { if (function_exists('apc_clear_cache')) { apc_clear_cache(); } if (function_exists('opcache_reset')) { opcache_reset(); } } }