404 no debugbar qnd utilizo o docker


(Cálcio) #1

E aí Galera.

Estou tendo problemas qnd uso o Docker, minha barra de debug ñ carrega e inspecionando o elemento descobri que ele ñ acha o debugbar da erro 404 ns inspeção. O Curioso é que o gii carrega sem problemas.

web/index.php


defined('YII_DEBUG') or define('YII_DEBUG', true);

defined('YII_ENV') or define('YII_ENV', 'dev');

config/web.php


if (YII_ENV_DEV) {

    // 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',

        'allowedIPs' => ['*'],

    ];

}

docker-compose.yml


version: '3.1'


services:

    lt-timesheet-server:

        image: yiisoftware/yii2-php:7.1-apache

        container_name: lt-timesheet-server

        volumes:

            - ~/.composer-docker/cache:/root/.composer/cache:delegated

            - ./:/app:delegated

        working_dir: /var/www/html

        ports:

            - '8080:80'

        networks:

            - lt-timesheet-network

        environment:

            PHP_XDEBUG_ENABLED: 1 # Set 1 to enable.

            XDEBUG_CONFIG: "remote_host=172.17.0.1 remote_enable=1"

            

    lt-timesheet-mysql:

        image: mysql:5.7

        container_name: lt-timesheet-mysql

        # restart: always

        environment:

            - MYSQL_ROOT_PASSWORD=secret

            - MYSQL_USER=secret

            - MYSQL_PASSWORD=secret

        ports:

            - "3306:3306"

        networks:

            - lt-timesheet-network

        volumes:

            - ./volumes/database/data:/var/lib/mysql


    lt-timesheet-phpmyadmin:

        image: phpmyadmin/phpmyadmin:4.7

        container_name: lt-timesheet-phpmyadmin

        ports:

            - '8081:80'

            - '443:443'

        networks:

            - lt-timesheet-network

        environment:

            - PMA_ARBITRARY=1

            - PMA_HOST={DB_HOST}

        depends_on:

            - lt-timesheet-mysql

        volumes:

            - ./volumes/database/data:/var/lib/mysql


networks:

    lt-timesheet-network:

        driver: bridge




(Thiagoluis) #2

Cálcio,

Ainda não executei seu docker-compose.yml localmente. Mas vamos tentar cercar esse problema:

Já viu esse tópico?

https://www.yiiframework.com/extension/yiisoft/yii2-debug/doc/guide/2.1/en/installation#virtualized-or-dockerized

Outra coisa, o que está sendo registrado no log da aplicação e nos logs do apache?

Mais tarde vou testar o template basic com esse docker-compose.yml


(Thiagoluis) #3

Cálcio,

Fiz testes com a seguinte configuração:


version: '3.1'

services:

    lt-timesheet-server:

        image: yiisoftware/yii2-php:7.1-apache

        container_name: lt-timesheet-server

        working_dir: /var/www/html

        volumes:

            - /var/www/:/var/www

        ports:

            - '8080:80'

        networks:

            - lt-timesheet-network

        environment:

            PHP_XDEBUG_ENABLED: 1 # Set 1 to enable.

            XDEBUG_CONFIG: "remote_host=172.17.0.1 remote_enable=1"

networks:

    lt-timesheet-network:

        driver: bridge

A barra de debug está funcionando.

Conseguiu identificar o problema?


(Cálcio) #4

Opa @thiago, desculpe a demora, mas só consegui retornar agora.

Então, uma dúvida. Pelo que estou vendo, vc usou o msm docker-compose que eu, e com vc funcionou? Foi isso mesmo?

Cara eu ñ sei oq pode ser isso, em um outro projeto que ñ foi iniciado com o docker pq tinha o PHP local, depois q converti para docker a debugbar funciona de boa, já um projeto zerado, ou seja, iniciado pelo git clone e seguindo oq o README.md, o debug ñ funciona.

Segui exatamente oq está no aqui.

Vou ler esse link mais tarde para ver se consigo alguma solução. Ontem abri até uma issue no github.


(Thiagoluis) #5

Cálcio,

Tranquilo, fiquei fora por um tempo também.

Tenta o seguinte, atualize as permissões de escrita do web/assets e runtime com chmod -R 777.

Aqui ocorreu a mesma coisa, o debug não aparecia mesmo dando acesso para todos ips no módulo.

Só que notei que as exceções não estavam mais sendo escritas no log runtime/log/app.log, e o debug do navegador mostrava um tempo grande na requisição do debug e devolvia 404 com a resposta informando que não conseguiu encontrar um ativo "xpto". Após atualizar a permissão desses diretórios a barra apareceu.

O projeto inicia com permissão de escrita (php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic), o problema ocorre ao definir o acesso por ip ao módulo, alguma coisa está ocorrendo que a permissão de escrita é perdida.

Teste e me diga o que ocorreu.


(Cálcio) #6

As permissões já existe. Qnd voltar nesse projeto de novo vou tentar os passos do link q me mandou.