$host,
'port' => $port,
'user' => $user,
'pwd' => $pwd,
'dbname' => $database,
'dbqz' => $dbqz
);
$config=" '{$host}', //数据库服务器
'port' => {$port}, //数据库端口
'user' => '{$user}', //数据库用户名
'pwd' => '{$pwd}', //数据库密码
'dbname' => '{$database}', //数据库名
'dbqz' => '{$dbqz}' //数据表前缀
);
";
}
if(empty($errorMsg)){
try{
$DB=new PDO("mysql:host=".$dbconfig['host'].";dbname=".$dbconfig['dbname'].";port=".$dbconfig['port'],$dbconfig['user'],$dbconfig['pwd']);
}catch(Exception $e){
if($e->getCode() == 2002){
$errorMsg='连接数据库失败:数据库地址填写错误!';
}elseif($e->getCode() == 1045){
$errorMsg='连接数据库失败:数据库用户名或密码填写错误!';
}elseif($e->getCode() == 1049){
$errorMsg='连接数据库失败:数据库名不存在!';
}else{
$errorMsg='连接数据库失败:'.$e->getMessage();
}
}
if(empty($errorMsg)){
$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$DB->exec("set sql_mode = ''");
$DB->exec("set names utf8");
$mysqlversion = $DB->query("select version()")->fetchColumn();
if(version_compare($mysqlversion, '5.5.3', '<')){
$errorMsg='MySQL数据库版本太低,需要MySQL 5.6或以上版本!';
}
if(!$_GET['jump'] && !file_put_contents($databaseFile, $config)){
$errorMsg='保存失败,请确保网站根目录有写入权限';
}
}
}
}elseif($step==4){
include '../config.php';
if(!$dbconfig['user']||!$dbconfig['pwd']||!$dbconfig['dbname']) {
$errorMsg='请先填写好数据库并保存后再安装!';
}else{
try{
$DB=new PDO("mysql:host=".$dbconfig['host'].";dbname=".$dbconfig['dbname'].";port=".$dbconfig['port'],$dbconfig['user'],$dbconfig['pwd']);
}catch(Exception $e){
$errorMsg='连接数据库失败:'.$e->getMessage();
}
if(empty($errorMsg) && !$_GET['jump']){
$dbqz = $dbconfig['dbqz'];
$DB->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$DB->exec("set sql_mode = ''");
$DB->exec("set names utf8");
$sqls=file_get_contents('install.sql');
$sqls=explode(';', $sqls);
$sqls[]="INSERT INTO `".$dbqz."_config` VALUES ('syskey', '".random(32)."')";
$sqls[]="INSERT INTO `".$dbqz."_config` VALUES ('build', '".date("Y-m-d")."')";
$sqls[]="INSERT INTO `".$dbqz."_config` VALUES ('cronkey', '".rand(111111,999999)."')";
$success=0;$error=0;$errorMsg=null;
foreach ($sqls as $value) {
$value=trim($value);
if(empty($value))continue;
$value = str_replace('pre_',$dbqz.'_',$value);
if($DB->exec($value)===false){
$error++;
$dberror=$DB->errorInfo();
$errorMsg.=$dberror[2]."
";
}else{
$success++;
}
}
}
if(empty($errorMsg)){
$lock_status = file_put_contents("install.lock",'安装锁');
clearpack();
$step = 5;
}
}
}
?>
彩虹易支付 - 安装程序