Yii2 debug bar not showing on staging server even with allowedIP's entry

12,172

Solution 1

AllowedIPs parameter should contain your ip, check $_SERVER['REMOTE_ADDR'] for it and set it into AllowedIPs. See how gii check access

Solution 2

i know this is old but it may help someone now since this isn't very clear anywhere on the web.

We used to have this problem a lot when deploying to test and dev servers. Add this to your 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',
    ];
}

DO NOT DO THIS ON A PRODUCTION SERVER!!!!

Solution 3

Check what you have in your frontend/web/index.php or app/web/index.php

you need

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

Solution 4

If you have a custom layout, make sure you are calling <?php $this->endBody() ?> before your </body> tag.

Solution 5

Make sure your [yii-app-folder]/runtime/debug folder is writeable by the http server (Apache, nginx, etc).

Example:

sudo chown www-data: ./runtime/debug/ -R
Share:
12,172
Brett
Author by

Brett

Updated on June 19, 2022

Comments

  • Brett
    Brett almost 2 years

    I'm trying to get the debug bar in Yii2 to show on my staging server but for some reason it isn't showing.

    Here is code from my web.php config file:

    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 obviously is just an example for the server's real IP.

    I get the servers IP by doing:

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

    If I try and access the debug page by going to:

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

    I get the message: You are not allowed to access this page.

    I am sure I had this working before but now it's not working for some reason and I can't figure out why!?

    I'm aware there are debug data files (not sure if they will contain any info on why I can't see it) but I am not sure how I can view the data properly?

  • Brett
    Brett over 8 years
    Yes, I have those, not commented out.
  • Samuel Aiala Ferreira
    Samuel Aiala Ferreira over 5 years
    didn't believe that the 'allowedIPs' => ['*'] would do the trick, but you sir, are a life savier