display(":index");
}
public function step2(){
$data=array();
$data['os']=PHP_OS;
$tmp = function_exists('gd_info') ? gd_info() : array();
$server = $_SERVER["SERVER_SOFTWARE"];
$host = (empty($_SERVER["SERVER_ADDR"]) ? $_SERVER["SERVER_HOST"] : $_SERVER["SERVER_ADDR"]);
$name = $_SERVER["SERVER_NAME"];
$max_execution_time = ini_get('max_execution_time');
$allow_reference = (ini_get('allow_call_time_pass_reference') ? '[√]On' : '[×]Off');
$allow_url_fopen = (ini_get('allow_url_fopen') ? '[√]On' : '[×]Off');
$safe_mode = (ini_get('safe_mode') ? '[×]On' : '[√]Off');
$err = 0;
if (empty($tmp['GD Version'])) {
$gd = '[×]Off';
$err++;
} else {
$gd = '[√]On ' . $tmp['GD Version'];
}
if (extension_loaded('fileinfo')) {
$data['fileinfo'] = ' 已开启';
} else {
$data['fileinfo'] = ' 未开启';
$err++;
}
if (extension_loaded('SimpleXML')) {
$data['SimpleXML'] = ' 已开启';
} else {
$data['SimpleXML'] = ' 未开启';
$err++;
}
if (self::php_version()) {
$data['phpversion'] = ' ' . @ phpversion();
} else {
$data['phpversion'] = ' ' . @ phpversion();
$err++;
}
if (class_exists('pdo')) {
$data['pdo'] = ' 已开启';
} else {
$data['pdo'] = ' 未开启';
$err++;
}
if (extension_loaded('pdo_mysql')) {
$data['pdo_mysql'] = ' 已开启';
} else {
$data['pdo_mysql'] = ' 未开启';
$err++;
}
if (ini_get('file_uploads')) {
$data['upload_size'] = ' ' . ini_get('upload_max_filesize');
} else {
$data['upload_size'] = ' 禁止上传';
}
if (function_exists('session_start')) {
$data['session'] = ' 支持';
} else {
$data['session'] = ' 不支持';
$err++;
}
if (function_exists('curl_init')) {
$data['curl_init'] = ' 支持';
} else {
$data['curl_init'] = ' 不支持';
$err++;
}
if (function_exists('openssl_decrypt')) {
$data['php_openssl'] = ' 支持';
} else {
$data['php_openssl'] = ' 不支持';
$err++;
}
$folders = array(
'../',//根目录
'../config/',
'../runtime/',
'../web/',
);
$new_folders=array();
foreach($folders as $dir){
$Testdir = "./".$dir;
sp_dir_create($Testdir);
if(sp_testwrite($Testdir)){
$new_folders[$dir]['w']=true;
}else{
$new_folders[$dir]['w']=false;
$err++;
}
if(is_readable($Testdir)){
$new_folders[$dir]['r']=true;
}else{
$new_folders[$dir]['r']=false;
$err++;
}
}
$data['folders']=$new_folders;
$data['err']=$err;
$this->assign($data);
$this->display(":step2");
}
public function step3(){
$this->display(":step3");
}
public function step4(){
if(IS_POST){
//创建数据库
$dbconfig['DB_TYPE']="mysql";
$dbconfig['DB_HOST']=I('post.dbhost');
$dbconfig['DB_USER']=I('post.dbuser');
$dbconfig['DB_PWD']=I('post.dbpw');
$db = Db::getInstance($dbconfig);
$dbname=strtolower(I('post.dbname'));
$sql = "CREATE DATABASE IF NOT EXISTS `{$dbname}` DEFAULT CHARACTER SET utf8mb4";
$db->execute($sql) || $this->error($db->getError());
$this->display(":step4");
//创建数据表
$dbconfig['DB_NAME']=$dbname;
$dbconfig['DB_PREFIX']=trim(I('post.dbprefix'));
$db = Db::getInstance($dbconfig);
$table_prefix=I("post.dbprefix");
sp_execute_sql($db, "sql.sql", $table_prefix);
//生成网站配置文件
sp_create_config($dbconfig);
session("_install_step",4);
sleep(1);
$this->redirect("step5");
}else{
exit;
}
}
public function step5(){
if(session("_install_step")==4){
@touch('../install.lock.php');
$this->display(":step5");
}else{
$this->error("非法安装!");
}
}
public function testdbpwd(){
if(IS_POST){
$dbconfig=I("POST.");
$dbconfig['DB_TYPE']="mysql";
$db = Db::getInstance($dbconfig);
try{
$db->query("show databases;");
}catch (\Exception $e){
die("");
}
exit("1");
}else{
exit("need post!");
}
}
/**
* 判断当前环境php版本是否大于大于等于指定的一个版本
* @param string $version
* @return boolean
*/
public static function php_version( $version = '7.4.0' ) {
$php_version = @ phpversion();
// =0表示版本为7.4.0 =1表示大于7.4.0 =-1表示小于7.4.0
$is_pass = strnatcasecmp( $php_version, $version ) >= 0 ? true : false;
return $is_pass;
}
}