phpのテスト環境 – Windows

メモ書き程度で恐縮ですが。

ローカル環境の場合

レシピ
– Windows10
– PHP-7.4.x
– phpunit
– Git for Windows
– VS Code

https://windows.php.net/download/
ここからNon Thread Safeのzipファイルをダウンロードして展開し、C:\php へ配置。

環境変数(システム -> 詳細設定 -> 環境変数)を開いてユーザーもしくはシステムの環境変数:PATH に C:\php を追加。

合わせて git の環境も整えておく。

https://gitforwindows.org/
利用環境に合わせてインストーラーをダウンロードして実行。

sshgitに接続するための鍵(秘密鍵、公開鍵)を生成。
※詳しい記事がいろいろ見つかると思うので省略します。

鍵のセットが生成できたら、githubのウェブサイトを開いて、SSH and GPG keys に公開鍵id_rsa.pub を登録します。

そして phpunit のセットアップ。
https://github.com/tddbc/php_phpunit
作業用のフォルダを用意して、

git clone git@github.com:tddbc/php_phpunit.git

VS Code で php_phpunit フォルダをワークスペースに追加。
VS Code内のターミナルを開く。ここで「規定のシェルの選択」からGit Bash C:\Program Files\Git\bin\bash.exe を選びます。すでにPowerShell が開いている場合はターミナルを閉じて開き直すなど。

ここで phpunit をインストールするには、openssl とmbstring が必要になるので、C:\php\php.ini-developmentC:\php\php.ini にコピーするなどして編集。

extension=php_mbstring.dll
extension=php_openssl.dll

上の2行を有効にしておきます。

あとは tddbc/php_phpunit のセットアップにしたがって、VS Code のターミナルで、

curl -sS https://getcomposer.org/installer | php
php composer.phar install
./vendor/bin/phpunit

上記を実行してテストが通ればOKです。

WSL+Ubuntu環境の場合

php-7.2 は入っていたので、ssh-keygenなどでssh接続環境を整えて、上記の場合と同様に git clone で tddbcのリポジトリからプロジェクトファイルを ubuntu の作業フォルダに複製します。

curl -sS https://getcomposer.org/installer | php
php composer.phar install

としたところ ext-domext-mbstring が足りない模様。

sudo apt-get install php7.2-dom php7.2-mbstring

として、あらためて、

php composer.phar install

しばらく時間がかかりますが、インストール完了。

./vendor/bin/phpunit

これでサンプルソースのテストが通りました。そして、VS Codeからの編集ですが、ウインドウ左下の ><のアイコンをクリックして Remote-WSL: New Window を開けばファイルの編集、ターミナル操作ともにOKでした。