|
12 | 12 | */ |
13 | 13 | session_start(); |
14 | 14 | define('init', true); |
| 15 | +require('./common/functions.php'); |
| 16 | +$method = (!empty($_GET["m"])) ? $_GET["m"] : ""; |
| 17 | +if ($method === "CheckMySQLConnect") { |
| 18 | + if (file_exists('config.php')) { |
| 19 | + // 如果已经安装过一次,必须管理员登录 |
| 20 | + $is_login = (empty($_SESSION["admin_login"])) ? false : $_SESSION["admin_login"]; |
| 21 | + if (!$is_login) { // 未登录 |
| 22 | + EchoInfo(-3, array("msg" => "请刷新页面后重新登录")); |
| 23 | + } |
| 24 | + } |
| 25 | + error_reporting(0); |
| 26 | + // 检查数据库连接是否正常 |
| 27 | + $servername = htmlspecialchars((!empty($_POST["servername"])) ? $_POST["servername"] : "", ENT_QUOTES); |
| 28 | + $username = htmlspecialchars((!empty($_POST["username"])) ? $_POST["username"] : "", ENT_QUOTES); |
| 29 | + $DBPassword = htmlspecialchars((!empty($_POST["DBPassword"])) ? $_POST["DBPassword"] : "", ENT_QUOTES); |
| 30 | + $dbname = htmlspecialchars((!empty($_POST["dbname"])) ? $_POST["dbname"] : "", ENT_QUOTES); |
| 31 | + $dbtable = htmlspecialchars((!empty($_POST["dbtable"])) ? $_POST["dbtable"] : "", ENT_QUOTES); |
| 32 | + if (!function_exists('mysqli_connect')) { |
| 33 | + EchoInfo(-2, array("msg" => "<br/>您未安装或未启用 mysqli 扩展,<br/>不能使用数据库功能。<br/>请自行关闭数据库功能。")); |
| 34 | + } |
| 35 | + $conn = mysqli_connect($servername, $username, $DBPassword); |
| 36 | + $GLOBALS['conn'] = $conn; |
| 37 | + // Check connection |
| 38 | + if (!$conn) { |
| 39 | + EchoInfo(-1, array("msg" => mysqli_connect_error())); |
| 40 | + } else { |
| 41 | + // 连接成功,检查数据库是否存在 |
| 42 | + $sql = "SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '$dbname';"; // 查询是否有此数据库 |
| 43 | + $mysql_query = mysqli_query($conn, $sql); |
| 44 | + if (mysqli_fetch_assoc($mysql_query)) { |
| 45 | + // 存在数据库 |
| 46 | + EchoInfo(0, array("msg" => "数据库连接成功,存在 $dbname 数据库")); |
| 47 | + } else { |
| 48 | + // 不存在数据库,需创建 |
| 49 | + $sql = "CREATE DATABASE `$dbname` character set utf8;"; // 查询是否有此数据库 |
| 50 | + $mysql_query = mysqli_query($conn, $sql); |
| 51 | + if ($mysql_query) { |
| 52 | + // 创建成功 |
| 53 | + EchoInfo(0, array("msg" => "成功连接并创建数据库 $dbname 。")); |
| 54 | + } else { |
| 55 | + // 创建失败 |
| 56 | + EchoInfo(-1, array("msg" => "数据库连接成功,但创建数据库失败。<br />请手动创建 $dbname 数据库后再次检查连接。<br />")); |
| 57 | + } |
| 58 | + } |
| 59 | + } |
| 60 | + die(); |
| 61 | +} |
| 62 | + |
15 | 63 | if (!file_exists('./common/invalidCheck.php')) { |
16 | 64 | http_response_code(503); |
17 | 65 | header('Content-Type: text/plain; charset=utf-8'); |
18 | 66 | header('Refresh: 5;url=https://github.com/yuantuo666/baiduwp-php'); |
19 | 67 | die("HTTP 503 服务不可用!\r\n缺少相关配置和定义文件!无法正常运行程序!\r\n请重新 Clone 项目并进入此页面安装!\r\n将在五秒内跳转到 GitHub 储存库!"); |
20 | 68 | } |
21 | 69 | require('./common/invalidCheck.php'); |
22 | | -$method = (!empty($_GET["m"])) ? $_GET["m"] : ""; // 下一步判断是否引用config.php需用到 |
23 | 70 | // 导入配置和函数 |
24 | | -if ($method != "CheckMySQLConnect") { // 如果是使用检查连接,还没有配置好文件,不能引用 |
25 | | - require('config.php'); |
26 | | -} |
27 | | -require('./common/functions.php'); |
| 71 | +require('./config.php'); |
28 | 72 | // 通用响应头 |
29 | 73 | header('Content-Type: text/html; charset=utf-8'); |
30 | 74 | header('X-UA-Compatible: IE=edge,chrome=1'); |
31 | 75 | // 隐藏错误代码,保护信息安全 |
32 | | -if ($method != "CheckMySQLConnect" and DEBUG) { |
| 76 | +if (DEBUG) { |
33 | 77 | error_reporting(E_ALL); |
34 | 78 | } else { |
35 | 79 | error_reporting(0); // 关闭错误报告 |
|
286 | 330 | EchoInfo(-1, array("msg" => "未开启数据库功能")); |
287 | 331 | } |
288 | 332 | break; |
289 | | - case "CheckMySQLConnect": |
290 | | - // 检查数据库连接是否正常 |
291 | | - $servername = htmlspecialchars((!empty($_POST["servername"])) ? $_POST["servername"] : "", ENT_QUOTES); |
292 | | - $username = htmlspecialchars((!empty($_POST["username"])) ? $_POST["username"] : "", ENT_QUOTES); |
293 | | - $DBPassword = htmlspecialchars((!empty($_POST["DBPassword"])) ? $_POST["DBPassword"] : "", ENT_QUOTES); |
294 | | - $dbname = htmlspecialchars((!empty($_POST["dbname"])) ? $_POST["dbname"] : "", ENT_QUOTES); |
295 | | - $dbtable = htmlspecialchars((!empty($_POST["dbtable"])) ? $_POST["dbtable"] : "", ENT_QUOTES); |
296 | | - if (!function_exists('mysqli_connect')) { |
297 | | - EchoInfo(-2, array("msg" => "<br/>您未安装或未启用 mysqli 扩展,<br/>不能使用数据库功能。<br/>请自行关闭数据库功能。")); |
298 | | - } |
299 | | - $conn = mysqli_connect($servername, $username, $DBPassword); |
300 | | - $GLOBALS['conn'] = $conn; |
301 | | - // Check connection |
302 | | - if (!$conn) { |
303 | | - EchoInfo(-1, array("msg" => mysqli_connect_error())); |
304 | | - } else { |
305 | | - // 连接成功,检查数据库是否存在 |
306 | | - $sql = "SELECT * FROM information_schema.SCHEMATA WHERE SCHEMA_NAME = '$dbname';"; // 查询是否有此数据库 |
307 | | - $mysql_query = mysqli_query($conn, $sql); |
308 | | - if (mysqli_fetch_assoc($mysql_query)) { |
309 | | - // 存在数据库 |
310 | | - EchoInfo(0, array("msg" => "数据库连接成功,存在 $dbname 数据库")); |
311 | | - } else { |
312 | | - // 不存在数据库,需创建 |
313 | | - $sql = "CREATE DATABASE `$dbname` character set utf8;"; // 查询是否有此数据库 |
314 | | - $mysql_query = mysqli_query($conn, $sql); |
315 | | - if ($mysql_query) { |
316 | | - // 创建成功 |
317 | | - EchoInfo(0, array("msg" => "成功连接并创建数据库 $dbname 。")); |
318 | | - } else { |
319 | | - // 创建失败 |
320 | | - EchoInfo(-1, array("msg" => "数据库连接成功,但创建数据库失败。<br />请手动创建 $dbname 数据库后再次检查连接。<br />")); |
321 | | - } |
322 | | - } |
323 | | - } |
324 | | - break; |
325 | 333 | case "CheckUpdate": |
326 | 334 | $includePreRelease = false; // 定义和获取是否包含预发行,是否强制检查 |
327 | 335 | $enforce = false; |
|
0 commit comments