最新服务器上的版本,以后用这个
zhangmeng
2023-04-19 e3f5aa12f58d986098a9de0f5cb38060e403036d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
/**
 * @copyright ©2018 浙江禾匠信息科技
 * @author Lu Wei
 * @link http://www.zjhejiang.com/
 * Created by IntelliJ IDEA
 * Date Time: 2018/10/30 12:00
 */
 
namespace app\core;
 
 
/***
 * Class Application
 * @package app\core
 */
class ConsoleApplication extends \yii\console\Application
{
    use Application;
 
    /**
     * Application constructor.
     * @param null $config
     * @throws \yii\base\InvalidConfigException
     * @throws \Exception
     */
    public function __construct($config = null)
    {
        $this->checkEnv()
            ->loadDotEnv()
            ->defineConstants();
 
        require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
 
        if (!$config) {
            $config = require __DIR__ . '/../config/console.php';
        }
 
        parent::__construct($config);
 
        $this->enableObjectResponse()
            ->enableErrorReporting();
 
        $this->loadAppLogger()
            ->loadAppHandler()
            ->loadPluginsHandler();
    }
 
    /**
     * 检查服务器php环境
     * @return $this
     * @throws \Exception
     */
    protected function checkEnv()
    {
        $checkFunctions = [
            'proc_open',
            'proc_get_status',
        ];
        if (version_compare(PHP_VERSION, '7.2.0') < 0) {
            throw new \Exception('PHP版本不能小于7.2,当前PHP版本为' . PHP_VERSION);
        }
        foreach ($checkFunctions as $function) {
            if (!function_exists($function)) {
                throw new \Exception('PHP函数' . $function . '已被禁用,请先取消禁用' . $function . '函数');
            }
        }
        return $this;
    }
 
    public function getSession()
    {
        return \Yii::$app->session;
    }
 
 
}