阅览某项目代码的安装判断逻辑,他的实现思路是下面这样的

 

在进入index.php的时候进行判断

if(!defined('SYSDIR')) header('Location: ./install/');

 

在安装页面中导入完数据库后,写入文件config/config.php,数据库配置信息和几个define函数,这样上面的判断就能获取到了

// write config file last off in case installation fails
$configfile="<?php if(!defined('ROOT')) die('Access denied.');

\$servername = '$servername';
\$dbname = '$dbname';
\$dbusername = '$dbusername';
\$dbpassword = '$dbpassword';
\$dbmysql = '$dbmysql';

define('TABLE_PREFIX', '$tableprefix');
define('COOKIE_KEY', '".PassGen(12)."');
define('WEBSITE_KEY', '".PassGen(12)."');
define('SYSDIR', '$SYSDIR');

?>";

// write the config file
$filenum = fopen (ROOT . "config/config.php","w");
ftruncate($filenum, 0);
fwrite($filenum, $configfile);
fclose($filenum);

安装完后,写入了文件,最开始的判断是否定义常量就能获取到了

 

开源作品


GOFLY是一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的网页在线客服系统,致力于帮助广大开发者/中小站长快速整合私有客服功能。


github地址:​​go-fly​