Dockerも普及してきたことだしPHPの開発環境を試してみました。
DockerはDockerVMを挟むので何か特別なことがあるかと思っていましたが、ありませんでした。
準備
Docker Toolboxをインストールしておきます。
osはWindows10でバージョンは以下の通りです。
PHP Storm 2016.1.2
Client:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 21:49:11 2016
OS/Arch: windows/amd64
Server:
Version: 1.10.3
API version: 1.22
Go version: go1.5.3
Git commit: 20f81dd
Built: Thu Mar 10 21:49:11 2016
OS/Arch: linux/amd64
以下のファイルを準備します。
./Dockerfile
FROM fedora:23
RUN yum install -y \
php \
php-pecl-xdebug
ADD /15-xdebug.ini /etc/php.d/
EXPOSE 80
ENTRYPOINT /usr/sbin/httpd -DFOREGROUND
以下のファイルを準備します。
./15-xdebug.ini
zend_extension=xdebug.so
xdebug.remote_enable=On
xdebug.remote_connect_back=On
以下のファイルを準備します。
./src/index.php
<?php
$message = "hello at " . date('l jS \of F Y h:i:s A');
echo $message . PHP_EOL;
以下のコマンドを実行します。
Console
$ docker build -t php .
Console
$ IMAGE_ID=作成したImage ID
Console
$ docker run -d -v /c/Users/Kei/PhpstormProjects/docker/src/:/var/www/html -p 80:80 $IMAGE_ID
PHPStormのAbsolute path on the serverの設定を以下のように行います。
ChromeのXdebug Helperプラグインが便利なのでインストールします。
DockerのVMのIPアドレスを確認します。
Console
docker-machine ip default
PHPStormの受話器を上げてChromeの虫のアイコンをクリックしてEnableにし、 http://確認したipアドレス にアクセスするとブレークポイントで止まりました。