古いPHPとPHPUnitを動かしたいとき
レガシーなPHPとPHPUnitを動かしたいときのメモ。
ものすごい古いPHPを修正しなくては行けなくなったので、環境をつくって、テストコードを動かすようにした。
古いPHPの環境を作成する(Docker)
Doker Hubから欲しいversionを選択します。 php Tags - Docker Hub
選択したPHPのimageを指定し、docker-compose.ymlを作成します。
#docker-compose.yml
version: '3'
services:
php:
image: php:5.5.38-zts-alpine
volumes:
- './phpunit:/app/phpunit'
docker-composeの起動と動作確認
docker-compose run php /bin/sh
Creating docker_php_run ... done
/ # php -v
PHP 5.5.38 (cli) (built: Aug 10 2016 21:27:24)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
古いPHPUnitを動かす
発掘されたPHPには、そもそもテストコードなんて書かれていなかったので、細かい動作確認のために phpunitも古いものを持ってきて動かそうと思います。
PHPUnit はpharで過去のアーカイブが公開されてます。
ここから欲しいphpunitのバージョンを取得してきて、起動する形になります。
# phpunitをダウンロードします。
cd phpunit
wget https://phar.phpunit.de/phpunit-3.7.10.phar ./
# dockerに入り、phpunitの起動確認
cd ../
docker-compose run php /bin/sh
Creating docker_php_run ... done
/ # php -v
/ # cd app/phpunit/
/app/phpunit # ls
phpunit-3.7.10.phar
/app/phpunit # php phpunit-3.7.10.phar -v
/app/phpunit # php phpunit-3.7.10.phar --version
PHPUnit 3.7.10 by Sebastian Bergmann.
利用したいverさえ明確になっていれば割合サクッと環境自体はできる。
そんなレガシーなもの触れたくないけども、やらないといけないときもある。という感覚。