排查出来这段代码导致的:(PHP版本7.2 7.3 都试过了,我注释掉这段代码,手动改了数据库配置,就安装成功了)
```
$dbConfigText = preg_replace_callback("/'(hostname|database|username|password|hostport|prefix)'(\s+)=>(\s+)Env::get\((.*)\)\,/", $callback, $config);
```
```
// 数据库配置文件
$dbConfigFile = APP_PATH . 'database.php';
// $dbConfigText = @file_get_contents($dbConfigFile);
$callback = function ($matches) use ($mysqlHostname, $mysqlHostport, $mysqlUsername, $mysqlPassword, $mysqlDatabase, $mysqlPrefix) {
$field = "mysql" . ucfirst($matches[1]);
$replace = $$field;
return "{$matches[1]} = {$replace}" . PHP_EOL;
};
var_dump(123);
$dbConfigText = preg_replace_callback("/'(hostname|database|username|password|hostport|prefix)'(\s+)=>(\s+)Env::get\((.*)\)\,/", $callback, $config);
var_dump(12355);
// 检测能否成功写入数据库配置
$result = @file_put_contents($dbConfigFile, $dbConfigText);
if (!$result) {
throw new Exception(__('The current permissions are insufficient to write the file %s', '.env'));
}
```