ddev 上 の mautic の dev 環境と debug について
Yoichi Dan
Posted on June 25, 2021
そろそろコードを読むだけではキツくなってきたので、動かしながら確認したくなってきた。
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')
がポイントになっていて、 mautic の ddev をセットアップした時に生成される .ddev-docker-compose-*.yaml
の environments
に DDEV_TLD: ddev.site
の記述があります。
この環境変数は名前の通りで ddev のもので以下の一覧にあります。
https://ddev.readthedocs.io/en/stable/users/extend/custom-commands/#environment-variables-provided
DDEV_TLD: Top-level domain of project, like "ddev.site"
どうやら、これだけで通過するようで、mautic の開発環境に ddev を使う人が多いことが伺えます。(まあ、ルートに .ddev
がおいてあるんだから標準なんでしょうけど 😅 )
debug
Step-debugging with ddev and xdebug - DDEV-Local Documentation
上記の ddev のドキュメントがほぼすべてです。
-
ddev xdebug on
を実行 - PhpStorm で break point を追加
- PhpStorm で
Start Listening for PHP Debug Connections
をクリック - ブラウザで mautic のサイトを実行し break point の箇所に遷移
本当にこれだけでした 🎉
余談
最初は dev 環境は以下の記事を読んでいたのですが、ここ数年でもまあまあ変わっていることが分かりました。
Posted on June 25, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.
Related
November 27, 2024