You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
154 lines
4.9 KiB
154 lines
4.9 KiB
<?php
|
|
/**
|
|
* [Laike System] Copyright (c) 2017-2020 laiketui.com
|
|
* Laike is not a free software, it under the license terms, visited http://www.laiketui.com/ for more details.
|
|
*/
|
|
|
|
define('REAL_PATH', realpath('./') . '/');
|
|
define('WEB_PATH',dirname(dirname(__FILE__)));
|
|
class step1Action extends Action
|
|
{
|
|
|
|
public function execute ()
|
|
{
|
|
// we don't need any data here because this action doesn't serve
|
|
// any request methods, so the processing skips directly to the view
|
|
}
|
|
|
|
public function getDefaultView ()
|
|
{
|
|
unset($_SESSION);
|
|
session_destroy();
|
|
|
|
//设置目录权限
|
|
@chmod(WEB_PATH, 0777);
|
|
$request = $this->getContext()->getRequest();
|
|
$_SESSION['install_step'] = '1';
|
|
$_SESSION['install_error'] = 0;
|
|
//环境检测
|
|
|
|
$config = array(
|
|
array('操作系统', '不限制', '类Unix', PHP_OS, 'success'),
|
|
array('PHP版本', '5.6', '5.6+', PHP_VERSION, 'success'),
|
|
array('MYSQL版本', '5.5', '5.6+', '未知', 'success'), //PHP5.5不支持mysql版本检测
|
|
array('附件上传', '不限制', '2M+', '未知', 'success'),
|
|
array('GD库', '2.0', '2.0+', '未知', 'success'),
|
|
array('磁盘空间', '80M', '不限制', '未知', 'success'),
|
|
);
|
|
|
|
|
|
//PHP版本检测
|
|
if(PHP_VERSION < 5.6 || phpversion()< 5.6 ){
|
|
$config[1][4] = 'error';
|
|
$_SESSION['install_error'] = 1;
|
|
}
|
|
|
|
//附件上传检测
|
|
if(@ini_get('file_uploads'))
|
|
$config[3][3] = ini_get('upload_max_filesize');
|
|
|
|
//GD库检测
|
|
$tmp = function_exists('gd_info') ? gd_info() : array();
|
|
if(empty($tmp['GD Version'])){
|
|
$config[4][3] = '未安装';
|
|
$config[4][4] = 'error';
|
|
$_SESSION['install_error'] = 2;
|
|
} else {
|
|
$config[4][3] = $tmp['GD Version'];
|
|
}
|
|
|
|
unset($tmp);
|
|
//磁盘空间检测
|
|
if(function_exists('disk_free_space')) {
|
|
$config[5][3] = floor(disk_free_space(REAL_PATH) / (1024*1024)).'M';
|
|
}
|
|
|
|
$request->setAttribute("functions",$config);
|
|
//目录文件读写检测
|
|
unset($config);
|
|
|
|
//函数检测
|
|
$config = array(
|
|
array('dir', '[√]可写', 'success', '../LKT/webapp/_cache'),
|
|
array('dir', '[√]可写', 'success', '../LKT/webapp/_compile'),
|
|
array('dir', '[√]可写', 'success', '../LKT/webapp/config'),
|
|
array('dir', '[√]可写', 'success', './webapp/_cache'),
|
|
array('dir', '[√]可写', 'success', './webapp/_compile'),
|
|
);
|
|
|
|
foreach ($config as &$val) {
|
|
if('dir' == $val[0]){
|
|
if(!is_writable(REAL_PATH . $val[3])) {
|
|
if(is_dir($val[3])) {
|
|
$val[1] = '<span>[√]可读</span>';
|
|
$val[2] = 'error';
|
|
} else {
|
|
$val[1] = '<span style="color:#f30">[×]不存在</span>';
|
|
$val[2] = 'error';
|
|
$_SESSION['install_error'] = 3;
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if(file_exists(REAL_PATH . $val[3])) {
|
|
if(!is_writable(REAL_PATH . $val[3])) {
|
|
$val[1] = '<span style="color:#f30">[×]不可写</span>';
|
|
$val[2] = 'error';
|
|
}
|
|
|
|
|
|
} else {
|
|
if(!is_writable(dirname(REAL_PATH . $val[3]))) {
|
|
$val[1] = '<span style="color:#f30">[×]不存在</span>';
|
|
$val[2] = 'error';
|
|
$_SESSION['install_error'] = 4;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
$request->setAttribute("files",$config);
|
|
unset($config);
|
|
$config = array(
|
|
array('mysqli_connect', '[√]支持', 'success'),
|
|
array('file_get_contents', '[√]支持', 'success'),
|
|
array('mb_strlen', '[√]支持', 'success'),
|
|
array('curl_init', '[√]支持', 'success'),
|
|
|
|
);
|
|
|
|
|
|
foreach ($config as &$val) {
|
|
|
|
if(!function_exists($val[0])){
|
|
$val[1] = '<span style="color:#f30">[×]不支持</span>';
|
|
$val[2] = 'error';
|
|
$val[3] = '开启';
|
|
$_SESSION['install_error'] = 5;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$request->setAttribute("func",$config);
|
|
$num = 2;
|
|
$this->getContext()->getStorage()->write('step',$num);
|
|
return View :: INPUT;
|
|
|
|
}
|
|
|
|
|
|
public function getRequestMethods ()
|
|
|
|
{
|
|
|
|
return Request::NONE;
|
|
|
|
}
|
|
|
|
}
|
|
?>
|