InfoController   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 21
c 1
b 0
f 0
dl 0
loc 34
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A actionIndex() 0 27 5
1
<?php
2
3
namespace sample\controllers\web;
4
5
use Yii;
6
use yii\web\Controller;
7
use yii\web\UnauthorizedHttpException;
8
9
class InfoController extends Controller
10
{
11
    /**
12
     * Show phpinfo()
13
     * @return string
14
     * @throws UnauthorizedHttpException
15
     */
16
    public function actionIndex()
17
    {
18
        if (!YII_DEBUG) {
19
            throw new UnauthorizedHttpException();
20
        }
21
22
        ob_start();
23
        echo 'User IP: ' . Yii::$app->request->userIP;
24
        echo '<br>';
25
        echo 'Xdebug extension loaded: ' . (extension_loaded('xdebug') ? 'yes' : 'no');
26
        echo '<br>';
27
        echo 'Xdebug debugger active: ' . ((@xdebug_is_debugger_active() ?? false) ? 'yes' : 'no');
28
        echo '<br>';
29
        echo 'realpath_cache_size: ' . Yii::$app->formatter->asShortSize(realpath_cache_size());
30
        echo '<br>';
31
        echo 'YII_DB_DRIVER: ' . getenv('YII_DB_DRIVER');
32
        echo '<br>';
33
        phpinfo();
34
        $output = ob_get_clean();
35
36
        if (extension_loaded('xdebug')) {
37
            ob_start();
38
            xdebug_info();
39
            $output .= ob_get_clean();
40
        }
41
42
        return $output;
43
    }
44
}
45