ddev 上 の mautic の dev 環境と 디버그 について

3875 단어
そろそろコードを読むだけではkitツくなってきたので、動かしながら確認したくなってきた.

dev 環境



ENVIRONMENTS - Mautic Developer Documentation

dev is used when accessing the site through index_dev.php
上記の通りで index_dev.php を通すだけで動作します。
例えば https://mautic.ddev.site/index_dev.php/s/dashboard のような感じです。





どうして Docker を通しているのに dev 環境で動作できるのか?



このドキュメントを読んで最初は ModHeader を入れて、 MAUTIC_DEV_HOSTS にコンテナからアクセスしている IP を設定して実行してみたのですが、それを ON にしても OFF にしても dev 環境が有効になったので不思議になったのでした.

コンテナ内の mautic にアクセスしている IP は ddev logs -s web -f でログから調べました。
docker network inspect ddev_default あたりで ddev-router を見てもよいかも。



dev 環境の IP 判定



https://github.com/mautic/mautic/blob/features/app/middlewares/Dev/IpRestrictMiddleware.php#L58-L65

if (in_array($request->getClientIp(), $this->allowedIps) || false !== getenv('DDEV_TLD')) {
    return $this->app->handle($request, $type, $catch);
}

getenv('DDEV_TLD') がポintになっていて、 mautic の ddev をsettアップした時に生成される .ddev-docker-compose-*.yamlenvironmentsDDEV_TLD: ddev.site の記述があります.

この環境変数は名前の通りで ddev のもので以下の一覧にあります.
https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/#environment-variables-providedDDEV_TLD: Top-level domain of project, like "ddev.site"
😅 どうやら、これだけで通過するようで、mautic の開発環境に ddev を使う人が多いことが伺えます.(まあ、ruートに .ddev がおいてあるうんだぇでざからざ溩)

디버그



Step-debugging with ddev and xdebug - DDEV-Local Documentation

上記の ddev のドキュmentがほぼすべて입니다.
  • ddev xdebug on を実行
  • PhpStorm 및 중단점 を追加
  • PhpStorm 으로 Start Listening for PHP Debug Connections 오크리크
  • 브라우자로 mautic 의 사이트를 행하고 break point 의 箇所에 遷移

  • 本当にこれだけでした 🎉

    余談



    最初は dev 環境は以下の記事を読んでいたのですが, ここ数年でもまあまあ変わっていることが分かりました.
  • Local Mautic development with DDEV
  • 좋은 웹페이지 즐겨찾기