2020年01月26日
Symfony Local Web Serverでxdebugを設定する
久しぶりにSymfonyを触っていてい落ち着く僕です。
新しいプロジェクトでSymfonyを使おうと思ってsymfony/web-server-bundleをcomopserでinstallしたら、deprecatedとか出てて何事かと思ったらどうやら5.0でなくなるらしい・・。
代わりにSymfony Local Web Serverを使うということらしい。
個人的にはなんとなく symfony/cli
に依存していく流れはキモチワルイなぁーとは思っています…
まあとりあえず流れがそうなってしまったので、Local Web Serverを使っていこうと思ったわけですが、xdebugはoffになっているし、timezoneがutcになっている・・・。
symfony cliの入れ方
一応書いておきます。
curl -sS https://get.symfony.com/cli/installer | bash
php一覧を表示
$ symfony local:php:list
php.iniの設定
Symfonyのプロジェクト直下に php.ini
を置くとそれがロードされるらしい。
なんでこんな感じにiniに書いてあげるとtimezoneが反映されている。
[Date]
date.timezone = 'Asia/Tokyo'
xdebugの設定
ローカルのphpenvでxdebugはインストール済みとしています。
その場合でもLocal Web Serverを使うとxdebugは無効になっています。
で、それを解消するためにはプロジェクト直下に配置したphp.iniにxdebugの設定を記述すればいいだけです。
[Date]
date.timezone = 'Asia/Tokyo'
[xdebug]
zend_extension=xdebug
;zend_extension="/Users/polidog/.anyenv/envs/phpenv/versions/7.3.7/lib/php/extensions/no-debug-non-zts-20180731/xdebug.so"
html_errors=on
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.remote_port=9000
xdebug.idekey = "phpstorm"
xdebug.remote_handler=dbgp
xdebug.max_nesting_level=3000
最後に
Symfony Local Web Serverは使用する前に一読しておくとよいかと思います。 英語が苦手な人もGoogle翻訳のちからを借りれば余裕で読めるかと思います。
個人的にはhttps://symfony.com/doc/current/setup/symfony_server.html#docker-integrationとか便利やねぇと思っています。