Symfony Local Web Serverでxdebugを設定する

Symfony Local Web Serverでxdebugを設定する

January 26, 2020,
tags: symfony webserver


このエントリーをはてなブックマークに追加

久しぶりに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

https://symfony.com/download

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とか便利やねぇと思っています。

comments powered by Disqus