'协议阅读'));
exit(require './agreement.html');
}
// 环境检测页面
if($c == 'test')
{
new behavior(array('msg'=>'环境检测'));
exit(require './test.html');
}
// 创建数据库页面
if($c == 'create')
{
new behavior(array('msg'=>'数据信息填写'));
exit(require './create.html');
}
// 安装成功页面
if($c == 'success')
{
// mysql版本信息
$mysql_ver = '';
// 判断是否为post
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$data = $_POST;
// 连接数据库
$link = @mysqli_connect($data['DB_HOST'], $data['DB_USER'], $data['DB_PWD'], null, $data['DB_PORT']);
// 获取错误信息
if (!$link) {
// 转义防止和alert中的引号冲突
$error = addslashes(mysqli_connect_error().'['.mysqli_connect_errno().']');
// 数据库连接失败上报
new behavior(array('msg'=>'数据库连接失败['.$error.']'));
die("");
}
// 设置字符集
mysqli_query($link, "SET NAMES 'utf8mb4'");
// 数据库版本校验
$mysql_ver = mysqli_get_server_info($link);
if($mysql_ver < 5.0)
{
// 数据库版本过低上报
new behavior(array('msg'=>'数据库版本过低['.$mysql_ver.']', 'mysql_version'=>$mysql_ver));
die("");
}
// 创建数据库并选中
if(!mysqli_select_db($link, $data['DB_NAME'])){
$create_sql = 'CREATE DATABASE IF NOT EXISTS '.$data['DB_NAME'].' DEFAULT CHARACTER SET utf8mb4;';
if(!mysqli_query($link, $create_sql))
{
// 数据库创建失败上报
new behavior(array('msg'=>'创建数据库失败', 'mysql_version'=>$mysql_ver));
die("");
}
mysqli_select_db($link, $data['DB_NAME']);
}
// 导入sql数据并创建表
$sql_array = preg_split("/;[\r\n]+/", str_replace('`s_', '`'.$data['DB_PREFIX'], file_get_contents('./shopxo.sql')));
$success = 0;
$failure = 0;
foreach ($sql_array as $k => $v) {
if (!empty($v)) {
if(mysqli_query($link, $v))
{
$success++;
} else {
$failure++;
}
}
}
mysqli_close($link);
// 数据表创建上报
new behavior(array('msg'=>'运行sql[成功'.$success.', 失败'.$failure.']', 'mysql_version'=>$mysql_ver));
// 配置文件信息处理
$db_str=<< 'mysql', // 数据库类型
'DB_HOST' => '{$data['DB_HOST']}', // 服务器地址
'DB_NAME' => '{$data['DB_NAME']}', // 数据库名
'DB_USER' => '{$data['DB_USER']}', // 用户名
'DB_PWD' => '{$data['DB_PWD']}', // 密码
'DB_PORT' => {$data['DB_PORT']}, // 端口
'DB_PARAMS' => array(), // 数据库连接参数
'DB_PREFIX' => '{$data['DB_PREFIX']}', // 数据库表前缀
'DB_CHARSET'=> 'utf8mb4', // 字符集
'DB_DEBUG' => false, // 数据库调试模式 开启后可以记录SQL日志
);
?>
php;
// 创建数据库链接配置文件,master,develop,test,debug 分别都更新,core模式没更改
@file_put_contents('../Application/Common/Conf/master.php', $db_str);
@file_put_contents('../Application/Common/Conf/develop.php', $db_str);
@file_put_contents('../Application/Common/Conf/test.php', $db_str);
@file_put_contents('../Application/Common/Conf/debug.php', $db_str);
@touch('./install.lock');
// 安装完成上报
new behavior(array('msg'=>'安装完成', 'mysql_version'=>$mysql_ver));
// 显示安装成功信息
exit(require './success.html');
}
}
exit('非法访问');
?>