即使使用allowedIP的条目,Yii2调试栏也不会显示在登台服务器上

Bre*_*ett 8 php yii yii2

我正在尝试将调试栏Yii2显示在我的登台服务器上但由于某种原因它没有显示.

这是我的web.php配置文件中的代码:

if (YII_ENV_DEV) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
                                   'class' => 'yii\debug\Module',
                                   'allowedIPs' => ['127.0.0.1','::1','123.45.67.89']
                                   ];

    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = 'yii\gii\Module';
}
Run Code Online (Sandbox Code Playgroud)

123.45.67.89 显然只是服务器真实IP的一个例子.

通过执行以下操作获取服务器IP:

$host = gethostname();
$server_ip = gethostbyname($host);
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问调试页面,请访问:

http://www.example.com/debug/default/index

我收到消息:您不能访问此页面.

我相信我之前有这个工作,但现在因为某种原因它不起作用,我无法弄明白为什么!?

我知道有调试数据文件(不确定它们是否包含我无法看到它的任何信息)但我不确定如何正确查看数据?

Ton*_*ony 8

AllowedIPs参数应包含您的IP,检查$_SERVER['REMOTE_ADDR']并将其设置为AllowedIPs.了解如何访问 gii


小智 6

我知道这是旧的,但它现在可能对某人有所帮助,因为这在网络上的任何地方都不是很清楚。

在部署到测试和开发服务器时,我们曾经经常遇到这个问题。将此添加到您的 main-local.php

if (!YII_ENV_TEST) {
    // configuration adjustments for 'dev' environment
    $config['bootstrap'][] = 'debug';
    $config['modules']['debug'] = [
        'class' => 'yii\debug\Module',
        'allowedIPs' => ['*']
    ];
    $config['bootstrap'][] = 'gii';
    $config['modules']['gii'] = [
    'class' => 'yii\gii\Module',
    ];
}
Run Code Online (Sandbox Code Playgroud)

请勿在生产服务器上执行此操作!!!!