Brett
Brett

Reputation: 20049

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

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?

Upvotes: 11

Views: 17145

Answers (7)

arieltools
arieltools

Reputation: 1204

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

Upvotes: 5

Agus Sudarmanto
Agus Sudarmanto

Reputation: 27

You could check your /backend/runtime/ directory and make sure its writeable

Upvotes: 0

Ansari
Ansari

Reputation: 8218

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

Upvotes: 3

Reginald Goolsby
Reginald Goolsby

Reputation: 645

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!!!!

Upvotes: 10

Gajen Sunthara
Gajen Sunthara

Reputation: 4818

If you running nginx & php-fpm, I had to restart the service.

sudo service php-fpm restart

Upvotes: 0

Tony
Tony

Reputation: 5867

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

Upvotes: 10

ScaisEdge
ScaisEdge

Reputation: 133370

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');

Upvotes: 3

Related Questions