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; } }