mirror of https://gitee.com/karson/fastadmin.git
parent
346f6eab1a
commit
eca3ae7086
|
|
@ -199,19 +199,23 @@ class Install extends Command
|
||||||
// 后台入口文件
|
// 后台入口文件
|
||||||
$adminFile = ROOT_PATH . 'public' . DS . 'admin.php';
|
$adminFile = ROOT_PATH . 'public' . DS . 'admin.php';
|
||||||
|
|
||||||
// 生成数据库Env配置文件
|
// 数据库配置文件
|
||||||
$envFile = ROOT_PATH . '.env.sample';
|
$dbConfigFile = APP_PATH . 'database.php';
|
||||||
$envStr = @file_get_contents($envFile);
|
$config = @file_get_contents($dbConfigFile);
|
||||||
$callback = function ($matches) use ($mysqlHostname, $mysqlHostport, $mysqlUsername, $mysqlPassword, $mysqlDatabase, $mysqlPrefix) {
|
$callback = function ($matches) use ($mysqlHostname, $mysqlHostport, $mysqlUsername, $mysqlPassword, $mysqlDatabase, $mysqlPrefix) {
|
||||||
$field = "mysql" . ucfirst($matches[1]);
|
$field = "mysql" . ucfirst($matches[1]);
|
||||||
$replace = $$field;
|
$replace = $$field;
|
||||||
return "{$matches[1]} = {$replace}" . PHP_EOL;
|
if ($matches[1] == 'hostport' && $mysqlHostport == 3306) {
|
||||||
|
$replace = '';
|
||||||
|
}
|
||||||
|
return "'{$matches[1]}'{$matches[2]}=>{$matches[3]}Env::get('database.{$matches[1]}', '{$replace}'),";
|
||||||
};
|
};
|
||||||
$envConf = preg_replace_callback('/(hostname|database|username|password|hostport|prefix)\s*=\s*(.*?)\n/', $callback, $envStr);
|
$config = preg_replace_callback("/'(hostname|database|username|password|hostport|prefix)'(\s+)=>(\s+)Env::get\((.*)\)\,/", $callback, $config);
|
||||||
|
|
||||||
$result = @file_put_contents(ROOT_PATH . '.env', $envConf);
|
// 检测能否成功写入数据库配置
|
||||||
|
$result = @file_put_contents($dbConfigFile, $config);
|
||||||
if (!$result) {
|
if (!$result) {
|
||||||
throw new Exception(__('The current permissions are insufficient to write the file %s', '.env'));
|
throw new Exception(__('The current permissions are insufficient to write the file %s', 'application/database.php'));
|
||||||
}
|
}
|
||||||
|
|
||||||
// 变更默认管理员密码
|
// 变更默认管理员密码
|
||||||
|
|
@ -275,15 +279,17 @@ class Install extends Command
|
||||||
'public' . DS . 'assets' . DS . 'libs'
|
'public' . DS . 'assets' . DS . 'libs'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
//数据库配置文件
|
||||||
|
$dbConfigFile = APP_PATH . 'database.php';
|
||||||
|
|
||||||
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
|
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
|
||||||
throw new Exception(__("The current version %s is too low, please use PHP 7.0 or higher", PHP_VERSION));
|
throw new Exception(__("The current version %s is too low, please use PHP 7.0 or higher", PHP_VERSION));
|
||||||
}
|
}
|
||||||
if (!extension_loaded("PDO")) {
|
if (!extension_loaded("PDO")) {
|
||||||
throw new Exception(__("PDO is not currently installed and cannot be installed"));
|
throw new Exception(__("PDO is not currently installed and cannot be installed"));
|
||||||
}
|
}
|
||||||
$envConfFile = ROOT_PATH . '.env';
|
if (!is_really_writable($dbConfigFile)) {
|
||||||
if (is_file($envConfFile) && !is_really_writable($envConfFile)) {
|
throw new Exception(__('The current permissions are insufficient to write the configuration file application/database.php'));
|
||||||
throw new Exception(__('The current permissions are insufficient to write the file %s', '.env'));
|
|
||||||
}
|
}
|
||||||
foreach ($checkDirs as $k => $v) {
|
foreach ($checkDirs as $k => $v) {
|
||||||
if (!is_dir(ROOT_PATH . $v)) {
|
if (!is_dir(ROOT_PATH . $v)) {
|
||||||
|
|
|
||||||
|
|
@ -370,7 +370,7 @@ if (!function_exists('check_cors_request')) {
|
||||||
if (isset($_SERVER['HTTP_ORIGIN']) && $_SERVER['HTTP_ORIGIN']) {
|
if (isset($_SERVER['HTTP_ORIGIN']) && $_SERVER['HTTP_ORIGIN']) {
|
||||||
$info = parse_url($_SERVER['HTTP_ORIGIN']);
|
$info = parse_url($_SERVER['HTTP_ORIGIN']);
|
||||||
$domainArr = explode(',', config('fastadmin.cors_request_domain'));
|
$domainArr = explode(',', config('fastadmin.cors_request_domain'));
|
||||||
$domainArr[] = request()->host();
|
$domainArr[] = request()->host(true);
|
||||||
if (in_array("*", $domainArr) || in_array($_SERVER['HTTP_ORIGIN'], $domainArr) || (isset($info['host']) && in_array($info['host'], $domainArr))) {
|
if (in_array("*", $domainArr) || in_array($_SERVER['HTTP_ORIGIN'], $domainArr) || (isset($info['host']) && in_array($info['host'], $domainArr))) {
|
||||||
header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN']);
|
header("Access-Control-Allow-Origin: " . $_SERVER['HTTP_ORIGIN']);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -290,7 +290,7 @@ return [
|
||||||
//允许跨域的域名,多个以,分隔
|
//允许跨域的域名,多个以,分隔
|
||||||
'cors_request_domain' => 'localhost,127.0.0.1',
|
'cors_request_domain' => 'localhost,127.0.0.1',
|
||||||
//版本号
|
//版本号
|
||||||
'version' => '1.2.0.20201001_beta',
|
'version' => '1.2.0.20201008_beta',
|
||||||
//API接口地址
|
//API接口地址
|
||||||
'api_url' => 'https://api.fastadmin.net',
|
'api_url' => 'https://api.fastadmin.net',
|
||||||
],
|
],
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue