Docker for Mac から PHPをリモートデバッグする
以下を参考に設定した。
Dockerfileの例(抜粋)
# PHP RUN echo "[Xdebug]" >> /etc/php.ini && \ echo "zend_extension=/path/to/xdebug.so" >> /etc/php.ini && \ echo 'xdebug.idekey = "PHPSTORM"' >> /etc/php.ini && \ echo "xdebug.max_nesting_level=1000" >> /etc/php.ini && \ echo "xdebug.remote_autostart=1" >> /etc/php.ini && \ echo "xdebug.remote_host=10.254.254.254" >> /etc/php.ini && \ echo "xdebug.remote_enable=1" >> /etc/php.ini && \ echo "xdebug.remote_handler=dbgp" >> /etc/php.ini && \ echo "xdebug.remote_port=49190" >> /etc/php.ini && \ echo "xdebug.profiler_enable=1" >> /etc/php.ini && \ echo "xdebug.profiler_output_dir=/tmp" >> /etc/php.ini && \ echo "xdebug.remote_log=/tmp/xdebug.log" >> /etc/php.ini
これをビルドするとDocker上の /etc/php.ini は以下のようになる
[Xdebug] zend_extension=/path/to/xdebug.so xdebug.idekey = "PHPSTORM" xdebug.max_nesting_level=1000 xdebug.remote_autostart=1 xdebug.remote_host=10.254.254.254 xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_port=49190 xdebug.profiler_enable=1 xdebug.profiler_output_dir=/tmp xdebug.remote_log=/tmp/xdebug.log