From 29c894faae07a0d3fbb6921c010fc992e0bd2fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8A=80=E6=9C=AF=E8=80=81=E8=83=A1?= <1094551889@qq.com> Date: Mon, 30 Dec 2024 10:56:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=89=E8=A3=85=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controller/InstallController.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/app/controller/InstallController.php b/app/controller/InstallController.php index 75ce509..68a34ba 100644 --- a/app/controller/InstallController.php +++ b/app/controller/InstallController.php @@ -25,9 +25,13 @@ class InstallController if ($this->checkLock()) { return backMsg(1, '已经安装'); }; + // 检查环境 + $envCheck = $this->checkEnvironment(); + if ($envCheck !== true) { + return json(backMsg(1, $envCheck)); + }; // 获取表单提交的数据库配置信息 $dbConfig = $request->post(); - // 保存数据库配置信息到配置文件 if ($this->saveDbConfig($dbConfig) === false) { return json(backMsg(1, '配置保存失败')); @@ -62,7 +66,22 @@ class InstallController $this->setLock(); return json(backMsg(0, '安装成功')); } - + private function checkEnvironment() + { + // 检查PHP版本 + if (version_compare(PHP_VERSION, '8.0', '<')) { + return 'PHP版本必须大于等于8.0'; + } + // 检查文件上传写入权限 + if (!is_writable(sys_get_temp_dir())) { + return '文件上传目录没有写入权限'; + } + // 检查Fileinfo扩展是否安装 + if (!extension_loaded('fileinfo')) { + return 'Fileinfo扩展未安装'; + } + return true; + } private function saveDbConfig($dbConfig) { $envPath = app()->getRootPath() . '.env';