そろそろコードを読むだけではキツくなってきたので、動かしながら確認したくなってきた。
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 環境は以下の記事を読んでいたのですが、ここ数年でもまあまあ変わっていることが分かりました。
Top comments (0)