This commit is contained in:
joyqi 2017-11-03 00:29:58 +08:00
parent 425add976d
commit cf002bb0c0
3 changed files with 34 additions and 13 deletions

View File

@ -304,6 +304,10 @@ Typecho_Cookie::set('__typecho_lang', $lang);
$scripts = str_replace('%charset%', $config['charset'], $scripts);
}
if (isset($config['engine'])) {
$scripts = str_replace('%engine%', $config['engine'], $scripts);
}
$scripts = explode(';', $scripts);
foreach ($scripts as $script) {
$script = trim($script);
@ -496,12 +500,12 @@ Typecho_Cookie::set('__typecho_lang', $lang);
}
}
$_dbConfig = _rFrom('dbHost', 'dbUser', 'dbPassword', 'dbCharset', 'dbPort', 'dbDatabase', 'dbFile', 'dbDsn');
$_dbConfig = _rFrom('dbHost', 'dbUser', 'dbPassword', 'dbCharset', 'dbPort', 'dbDatabase', 'dbFile', 'dbDsn', 'dbEngine');
$_dbConfig = array_filter($_dbConfig);
$dbConfig = array();
foreach ($_dbConfig as $key => $val) {
$dbConfig[strtolower (substr($key, 2))] = $val;
$dbConfig[strtolower(substr($key, 2))] = $val;
}
// 在特殊服务器上的特殊安装过程处理
@ -588,7 +592,7 @@ Typecho_Db::set(\$db);
}
// 安装不成功删除配置文件
if($success != true && file_exists(__TYPECHO_ROOT_DIR__ . '/config.inc.php')) {
if(!$success && file_exists(__TYPECHO_ROOT_DIR__ . '/config.inc.php')) {
@unlink(__TYPECHO_ROOT_DIR__ . '/config.inc.php');
}
}

View File

@ -22,7 +22,7 @@ if (defined('SAE_MYSQL_DB') && SAE_MYSQL_DB != "app_") {
'host' => SAE_MYSQL_HOST_M,
'user' => SAE_MYSQL_USER,
'password' => SAE_MYSQL_PASS,
'charset' => '<?php _e('utf8'); ?>',
'charset' => '{charset}',
'port' => SAE_MYSQL_PORT,
'database' => SAE_MYSQL_DB
)" />
@ -63,7 +63,7 @@ $baeDbPassword = "getenv('HTTP_BAE_ENV_SK')";
'host' => getenv('HTTP_BAE_ENV_ADDR_SQL_IP'),
'user' => <?php echo $baeDbUser; ?>,
'password' => <?php echo $baeDbPassword; ?>,
'charset' => '<?php _e('utf8'); ?>',
'charset' => '{charset}',
'port' => getenv('HTTP_BAE_ENV_ADDR_SQL_PORT'),
'database' => '{database}'
)" />
@ -102,7 +102,7 @@ $baeDbPassword = "getenv('HTTP_BAE_ENV_SK')";
</li>
<?php if (0 === strpos($adapter, 'Pdo_')): ?>
<input type="hidden" name="dbDsn" value="mysql:dbname={database};unix_socket={host};charset=<?php _e('utf8'); ?>" />
<input type="hidden" name="dbDsn" value="mysql:dbname={database};unix_socket={host};charset={charset}" />
<input type="hidden" name="config" value="array (
'dsn' => '{dsn}',
'user' => '{user}',
@ -147,3 +147,20 @@ $baeDbPassword = "getenv('HTTP_BAE_ENV_SK')";
<?php endif; ?>
<input type="hidden" name="dbCharset" value="<?php _e('utf8'); ?>" />
<li>
<label class="typecho-label" for="dbCharset"><?php _e('数据库编码'); ?></label>
<select name="dbCharset" id="dbCharset">
<option value="utf8"<?php if (_r('dbCharset') == 'utf8'): ?> selected<?php endif; ?>>utf8</option>
<option value="utf8mb4"<?php if (_r('dbCharset') == 'utf8mb4'): ?> selected<?php endif; ?>>utf8mb4</option>
</select>
<p class="description"><?php _e('请选择一个数据库编码, utf8mb4 编码至少需要 MySQL 5.5.3 版本'); ?></p>
</li>
<li>
<label class="typecho-label" for="dbEngine"><?php _e('数据库引擎'); ?></label>
<select name="dbEngine" id="dbEngine">
<option value="MyISAM"<?php if (_r('dbEngine') == 'MyISAM'): ?> selected<?php endif; ?>>MyISAM</option>
<option value="InnoDB"<?php if (_r('dbEngine') == 'InnoDB'): ?> selected<?php endif; ?>>InnoDB</option>
</select>
<p class="description"><?php _e('请根据需要选择一种数据库引擎'); ?></p>
</li>

View File

@ -35,7 +35,7 @@ CREATE TABLE `typecho_comments` (
PRIMARY KEY (`coid`),
KEY `cid` (`cid`),
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -64,7 +64,7 @@ CREATE TABLE `typecho_contents` (
PRIMARY KEY (`cid`),
UNIQUE KEY `slug` (`slug`),
KEY `created` (`created`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -82,7 +82,7 @@ CREATE TABLE `typecho_fields` (
PRIMARY KEY (`cid`,`name`),
KEY `int_value` (`int_value`),
KEY `float_value` (`float_value`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -101,7 +101,7 @@ CREATE TABLE `typecho_metas` (
`parent` int(10) unsigned default '0',
PRIMARY KEY (`mid`),
KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -114,7 +114,7 @@ CREATE TABLE `typecho_options` (
`user` int(10) unsigned NOT NULL default '0',
`value` text,
PRIMARY KEY (`name`,`user`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -126,7 +126,7 @@ CREATE TABLE `typecho_relationships` (
`cid` int(10) unsigned NOT NULL,
`mid` int(10) unsigned NOT NULL,
PRIMARY KEY (`cid`,`mid`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;
-- --------------------------------------------------------
@ -149,4 +149,4 @@ CREATE TABLE `typecho_users` (
PRIMARY KEY (`uid`),
UNIQUE KEY `name` (`name`),
UNIQUE KEY `mail` (`mail`)
) ENGINE=MyISAM DEFAULT CHARSET=%charset%;
) ENGINE=%engine% DEFAULT CHARSET=%charset%;