Dockerを使ってAmazonLinux2にXdebugを導入した


背景

docker環境でAmazonLinux2にXdebugを入れるのに手間取ってしまったため、備忘録として残しておきます。

環境

  • Nginx + PHP-FPM

コンテナOSは両方ともAmazonLinux2になります。

原因と解決

すべての元凶はAmazonLinux2なのですが、インフラに詳しくない自分にとって思いのほか辛い作業になってしまいました。
AmazonLinux2のyumにはパッケージが色々入っていなかったり、参考サイトもそこまで多くないので試行錯誤してどうにかインストールしました。ただ、インストールできてしまうとなんてことはないのかと思いますが。。。
Xdebugのインストール自体は色々なサイトに乗っていますが、基本pecl install xdebugでインストールになるかと思います。ただ、AmazonLinux2にはデフォルトでpeclがないので動かない。

peclのインストールが必要らしい、、、

この時点でめんどくさくなって来ましたが頑張ってpeclを使えるようにしました。

以下を実行することでpeclを使用してxdebugをインストールできました。

RUN yum install php-pear php-devel gcc make -y
RUN pecl install xdebug

peclとか、pearをインストールしている理由を知りたい方は下記を確認していただければと思います。
http://dqn.sakusakutto.jp/2015/07/php_extension_pecl_phpize.html