即使输入了allowedIP,Yii2调试栏也不会显示在临时服务器上

b0zn9rqh  于 2022-11-09  发布在  其他
关注(0)|答案(7)|浏览(191)

我试图在我的临时服务器上显示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';
}

123.45.67.89显然只是服务器真实的IP的一个示例。
我通过执行以下操作获取服务器IP:

$host = gethostname();
$server_ip = gethostbyname($host);

如果我尝试访问调试页面,请转到:
http://www.example.com/debug/default/index
我得到的消息是:* 您无权访问此页面。*
我肯定我以前有这个工作,但现在它不工作的一些原因,我不知道为什么!?
我知道有调试数据文件(不确定它们是否会包含任何信息,说明为什么我看不到它),但我不知道如何才能正确查看数据?

dm7nw8vv

dm7nw8vv1#

AllowedIPs参数应该包含你的ip,检查一下$_SERVER['REMOTE_ADDR'],把它设置成AllowedIPs .看看gii怎么检查访问

tf7tbtn2

tf7tbtn22#

我知道这是旧的,但它可能会帮助一些人现在,因为这是不是很清楚的任何地方在网络上。
我们过去在部署到测试和开发服务器时经常遇到这个问题。

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',
    ];
}

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

wecizke3

wecizke33#

检查您的frontend/web/index.phpapp/web/index.php中有什么
您需要

<?php
  defined('YII_DEBUG') or define('YII_DEBUG', true);
  defined('YII_ENV') or define('YII_ENV', 'dev');
zwghvu4y

zwghvu4y4#

如果您有自定义布局,请确保在调用</body>标记之前调用<?php $this->endBody() ?>

34gzjxbg

34gzjxbg5#

确保http服务器(Apache,nginx等)可以写入您的[yii-app-folder]/runtime/debug文件夹。
示例:

sudo chown www-data: ./runtime/debug/ -R
7rfyedvj

7rfyedvj6#

如果你运行nginx & php-fpm,我不得不重新启动服务。

sudo service php-fpm restart
tf7tbtn2

tf7tbtn27#

您可以检查您的/backend/runtime/目录,并确保其可写

相关问题