【EC-Cube】Docker環境で動かしているEC-Cube3をデバッグモードで表示する

EC-Cubeには、デバッグ機能があります。 doc.ec-cube.net

ビルドインサーバー等で、localhostから直接ソースを読み込んでいればデフォルト設定のまま確認出来ます。 しかし、Dockerの場合少し工夫が必要になります。

今回は、Dockerで作った環境で構築しているEC-Cubeで、デバッグモードを確認する方法になります。
尚、前のバージョンについては、別の方法のようですので、EC-Cube2以前は別の方法を探してください。

EC-Cube3でのデバッグモード起動方法

デバッグモードの場合はデフォルトで入っている、/html/index_dev.phpにアクセスします。

ただし、IP制限をしており、Dockerでは接続することが出来ません。
このIPはあくまでPCとDockerのシステムを繋いでいるIPですので、127.0.0.1や、IP確認サービスで調べたIPではありません。
次に、DockerからアクセスしているIPを調べます。

DockerからアクセスしているIPを特定する

dockerのinspect機能でコンテナとPCのゲートウェイを確認します。

$ docker ps
<このコマンドで、起動しているコンテナIDを確認します>
$ docker inspect <コンテナID>
"NetworkSettings": {
    ・・・
    "Networks": {
        ・・・
        "<コンテナ名>_default": {
            "Gateway": "172.22.0.1",
            "IPAddress": "172.22.0.3",

私の場合、特にIPの指定は指定ないので172.22.0.1でした。

DockerからのIPを許可する。

調べたIPを、index_dev.phpに記述して設定します。

/html/index_dev.php

$allow = array(
    '127.0.0.1',
    'fe80::1',
    '::1',
    '172.22.0.1'
);

デバッグモードで表示

上記設定後、index_dev.phpにアクセスすることで、デバッグモードのページにアクセス出来ます。 また、特定のページを見たい場合は、下記のように設定する事で表示することが出来ます。

http://localhost:8080/index_dev.php/<表示したいページ>