diff --git a/src/core/App.php b/src/core/App.php index ac79de4..b9c52fa 100644 --- a/src/core/App.php +++ b/src/core/App.php @@ -23,14 +23,7 @@ class App */ public function __construct() { - set_time_limit(0); - error_reporting(E_ALL); - ini_set('display_errors', 'on'); - header("Content-Type:text/html; charset=utf-8"); - date_default_timezone_set('Asia/Shanghai'); - if (PHP_SAPI != 'cli') { - die("Please run this script from command line"); - } + (new Env())->set_configure()->inspect_extension(); } /** diff --git a/src/core/Env.php b/src/core/Env.php new file mode 100644 index 0000000..2a2b794 --- /dev/null +++ b/src/core/Env.php @@ -0,0 +1,62 @@ +app_name} 当前版本 {$this->app_version}"); + Log::info("程序使用相关请移步 https://github.com/lkeme/BiliHelper-personal 文档部分查看。"); + + if (PHP_SAPI != 'cli') { + die("Please run this script from command line ."); + } + if (version_compare(PHP_VERSION, '7.0.0', '<')) { + die("Please upgrade PHP version >= 7.0.0 ."); + } + } + + /** + * @use 检查扩展 + */ + public function inspect_extension() + { + $default_extensions = ['curl', 'openssl', 'sockets', 'json', 'zlib', 'mbstring']; + foreach ($default_extensions as $extension) { + if (!extension_loaded($extension)) { + Log::error("检查到项目依赖 {$extension} 扩展未加载。"); + Log::error("请在 php.ini中启用 {$extension} 扩展后重试。"); + Log::error("程序常见问题请移步 https://github.com/lkeme/BiliHelper-personal 文档部分查看。"); + exit(); + } + } + } + + /** + * @use 环境配置 + */ + public function set_configure() + { + set_time_limit(0); + error_reporting(E_ALL); + ini_set('display_errors', 'on'); + header("Content-Type:text/html; charset=utf-8"); + date_default_timezone_set('Asia/Shanghai'); + return $this; + } +}