ScoopでPHPをインストールする

勉強するためにWindows環境でXAMPPを利用していて、Macユーザーになったので、Dockerを使いだし、Windowsの方でもDockerを主に利用していたのですが、諸事情でScoopでPHPだけインストールすることにしてみた走り書き。

# とりあえずScoopのアップデート
```
scoop update
```

```
Updating Scoop...
Updating 'main' bucket...
error: Your local changes to the following files would be overwritten by merge:
        bucket/amass.json
        bucket/bombardier.json
        bucket/drmemory.json
        bucket/dynamorio.json
        bucket/gitleaks.json
        bucket/gosec.json
        bucket/grype.json
        bucket/kcptun.json
        bucket/lua-language-server.json
        bucket/retdec.json
        bucket/swift.json
        bucket/syft.json
        bucket/z3.json
Please commit your changes or stash them before you can merge.
Aborting
Scoop was updated successfully!
```
アップデートはできたみたい。


# とりあえずそれっぽいの探す
```
scoop search php
```
```
Results from local buckets...

Name    Version Source Binaries
----    ------- ------ --------
php-nts 8.1.11  main
php     8.1.11  main
```

# とりあえずインストールする
```
scoop install php
```

# とりあえずできそうでできない

```
WARN  Purging previous failed installation of php.
ERROR 'php' isn't installed correctly.
Removing older version (8.1.11).
'php' was uninstalled.
Installing 'php' (8.1.11) [64bit] from main bucket
リモート サーバーがエラーを返しました: (404) 見つかりません
URL https://windows.php.net/downloads/releases/php-8.1.11-Win32-vs16-x64.zip is not valid
```

# bucketを追加すれば良いらしい

```
scoop bucket add php
```

```
Checking repo... OK
The php bucket was added successfully
```

# 確認してみる
```
scoop search php
```
いっぱい入ってる
```
Results from local buckets...

Name          Version Source Binaries
----          ------- ------ --------
php-nts       8.1.11  main
php           8.1.11  main
php5.2.10-nts 5.2.10  php
php5.2.10     5.2.10  php
php5.2.11-nts 5.2.11  php
php5.2.11     5.2.11  php
php5.2.12-nts 5.2.12  php
php5.2.12     5.2.12  php
php5.2.13-nts 5.2.13  php
php5.2.13     5.2.13  php
php5.2.14-nts 5.2.14  php
php5.2.14     5.2.14  php
php5.2.15-nts 5.2.15  php
php5.2.15     5.2.15  php
php5.2.16-nts 5.2.16  php
php5.2.16     5.2.16  php
php5.2.17-nts 5.2.17  php
php5.2.17     5.2.17  php
php5.2.6-nts  5.2.6   php
php5.2.6      5.2.6   php
php5.2.7-nts  5.2.7   php
php5.2.7      5.2.7   php
php5.2.8-nts  5.2.8   php
php5.2.8      5.2.8   php
php5.2.9-nts  5.2.9   php
php5.2.9      5.2.9   php
php5.2        5.2.17  php
php5.3-nts    5.3.29  php
php5.3.0-nts  5.3.0   php
php5.3.0      5.3.0   php
php5.3.1-nts  5.3.1   php
php5.3.1      5.3.1   php
php5.3.10-nts 5.3.10  php
php5.3.10     5.3.10  php
php5.3.11-nts 5.3.11  php
php5.3.11     5.3.11  php
php5.3.12-nts 5.3.12  php
php5.3.12     5.3.12  php
php5.3.13-nts 5.3.13  php
php5.3.13     5.3.13  php
php5.3.14-nts 5.3.14  php
php5.3.14     5.3.14  php
php5.3.15-nts 5.3.15  php
php5.3.15     5.3.15  php
php5.3.16-nts 5.3.16  php
php5.3.16     5.3.16  php
php5.3.17-nts 5.3.17  php
php5.3.17     5.3.17  php
php5.3.18-nts 5.3.18  php
php5.3.18     5.3.18  php
php5.3.19-nts 5.3.19  php
php5.3.19     5.3.19  php
php5.3.2-nts  5.3.2   php
php5.3.2      5.3.2   php
php5.3.20-nts 5.3.20  php
php5.3.20     5.3.20  php
php5.3.21-nts 5.3.21  php
php5.3.21     5.3.21  php
php5.3.22-nts 5.3.22  php
php5.3.22     5.3.22  php
php5.3.23-nts 5.3.23  php
php5.3.23     5.3.23  php
php5.3.24-nts 5.3.24  php
php5.3.24     5.3.24  php
php5.3.25-nts 5.3.25  php
php5.3.25     5.3.25  php
php5.3.26-nts 5.3.26  php
php5.3.26     5.3.26  php
php5.3.27-nts 5.3.27  php
php5.3.27     5.3.27  php
php5.3.28-nts 5.3.28  php
php5.3.28     5.3.28  php
php5.3.29-nts 5.3.29  php
php5.3.29     5.3.29  php
php5.3.3-nts  5.3.3   php
php5.3.3      5.3.3   php
php5.3.4-nts  5.3.4   php
php5.3.4      5.3.4   php
php5.3.5-nts  5.3.5   php
php5.3.5      5.3.5   php
php5.3.6-nts  5.3.6   php
php5.3.6      5.3.6   php
php5.3.7-nts  5.3.7   php
php5.3.7      5.3.7   php
php5.3.8-nts  5.3.8   php
php5.3.8      5.3.8   php
php5.3.9-nts  5.3.9   php
php5.3.9      5.3.9   php
php5.3        5.3.29  php
php5.4-nts    5.4.45  php
php5.4.0-nts  5.4.0   php
php5.4.0      5.4.0   php
php5.4.1-nts  5.4.1   php
php5.4.1      5.4.1   php
php5.4.10-nts 5.4.10  php
php5.4.10     5.4.10  php
php5.4.11-nts 5.4.11  php
php5.4.11     5.4.11  php
php5.4.12-nts 5.4.12  php
php5.4.12     5.4.12  php
php5.4.13-nts 5.4.13  php
php5.4.13     5.4.13  php
php5.4.14-nts 5.4.14  php
php5.4.14     5.4.14  php
php5.4.15-nts 5.4.15  php
php5.4.15     5.4.15  php
php5.4.16-nts 5.4.16  php
php5.4.16     5.4.16  php
php5.4.17-nts 5.4.17  php
php5.4.17     5.4.17  php
php5.4.18-nts 5.4.18  php
php5.4.18     5.4.18  php
php5.4.19-nts 5.4.19  php
php5.4.19     5.4.19  php
php5.4.2-nts  5.4.2   php
php5.4.2      5.4.2   php
php5.4.20-nts 5.4.20  php
php5.4.20     5.4.20  php
php5.4.21-nts 5.4.21  php
php5.4.21     5.4.21  php
php5.4.22-nts 5.4.22  php
php5.4.22     5.4.22  php
php5.4.23-nts 5.4.23  php
php5.4.23     5.4.23  php
php5.4.24-nts 5.4.24  php
php5.4.24     5.4.24  php
php5.4.25-nts 5.4.25  php
php5.4.25     5.4.25  php
php5.4.26-nts 5.4.26  php
php5.4.26     5.4.26  php
php5.4.27-nts 5.4.27  php
php5.4.27     5.4.27  php
php5.4.28-nts 5.4.28  php
php5.4.28     5.4.28  php
php5.4.29-nts 5.4.29  php
php5.4.29     5.4.29  php
php5.4.3-nts  5.4.3   php
php5.4.3      5.4.3   php
php5.4.30-nts 5.4.30  php
php5.4.30     5.4.30  php
php5.4.31-nts 5.4.31  php
php5.4.31     5.4.31  php
php5.4.32-nts 5.4.32  php
php5.4.32     5.4.32  php
php5.4.33-nts 5.4.33  php
php5.4.33     5.4.33  php
php5.4.34-nts 5.4.34  php
php5.4.34     5.4.34  php
php5.4.35-nts 5.4.35  php
php5.4.35     5.4.35  php
php5.4.36-nts 5.4.36  php
php5.4.36     5.4.36  php
php5.4.37-nts 5.4.37  php
php5.4.37     5.4.37  php
php5.4.38-nts 5.4.38  php
php5.4.38     5.4.38  php
php5.4.39-nts 5.4.39  php
php5.4.39     5.4.39  php
php5.4.4-nts  5.4.4   php
php5.4.4      5.4.4   php
php5.4.40-nts 5.4.40  php
php5.4.40     5.4.40  php
php5.4.41-nts 5.4.41  php
php5.4.41     5.4.41  php
php5.4.42-nts 5.4.42  php
php5.4.42     5.4.42  php
php5.4.43-nts 5.4.43  php
php5.4.43     5.4.43  php
php5.4.44-nts 5.4.44  php
php5.4.44     5.4.44  php
php5.4.45-nts 5.4.45  php
php5.4.45     5.4.45  php
php5.4.5-nts  5.4.5   php
php5.4.5      5.4.5   php
php5.4.6-nts  5.4.6   php
php5.4.6      5.4.6   php
php5.4.7-nts  5.4.7   php
php5.4.7      5.4.7   php
php5.4.8-nts  5.4.8   php
php5.4.8      5.4.8   php
php5.4.9-nts  5.4.9   php
php5.4.9      5.4.9   php
php5.4        5.4.45  php
php5.5-nts    5.5.38  php
php5.5.0-nts  5.5.0   php
php5.5.0      5.5.0   php
php5.5.1-nts  5.5.1   php
php5.5.1      5.5.1   php
php5.5.10-nts 5.5.10  php
php5.5.10     5.5.10  php
php5.5.11-nts 5.5.11  php
php5.5.11     5.5.11  php
php5.5.12-nts 5.5.12  php
php5.5.12     5.5.12  php
php5.5.13-nts 5.5.13  php
php5.5.13     5.5.13  php
php5.5.14-nts 5.5.14  php
php5.5.14     5.5.14  php
php5.5.15-nts 5.5.15  php
php5.5.15     5.5.15  php
php5.5.16-nts 5.5.16  php
php5.5.16     5.5.16  php
php5.5.17-nts 5.5.17  php
php5.5.17     5.5.17  php
php5.5.18-nts 5.5.18  php
php5.5.18     5.5.18  php
php5.5.19-nts 5.5.19  php
php5.5.19     5.5.19  php
php5.5.2-nts  5.5.2   php
php5.5.2      5.5.2   php
php5.5.20-nts 5.5.20  php
php5.5.20     5.5.20  php
php5.5.21-nts 5.5.21  php
php5.5.21     5.5.21  php
php5.5.22-nts 5.5.22  php
php5.5.22     5.5.22  php
php5.5.23-nts 5.5.23  php
php5.5.23     5.5.23  php
php5.5.24-nts 5.5.24  php
php5.5.24     5.5.24  php
php5.5.25-nts 5.5.25  php
php5.5.25     5.5.25  php
php5.5.26-nts 5.5.26  php
php5.5.26     5.5.26  php
php5.5.27-nts 5.5.27  php
php5.5.27     5.5.27  php
php5.5.28-nts 5.5.28  php
php5.5.28     5.5.28  php
php5.5.29-nts 5.5.29  php
php5.5.29     5.5.29  php
php5.5.3-nts  5.5.3   php
php5.5.3      5.5.3   php
php5.5.30-nts 5.5.30  php
php5.5.30     5.5.30  php
php5.5.31-nts 5.5.31  php
php5.5.31     5.5.31  php
php5.5.32-nts 5.5.32  php
php5.5.32     5.5.32  php
php5.5.33-nts 5.5.33  php
php5.5.33     5.5.33  php
php5.5.34-nts 5.5.34  php
php5.5.34     5.5.34  php
php5.5.35-nts 5.5.35  php
php5.5.35     5.5.35  php
php5.5.36-nts 5.5.36  php
php5.5.36     5.5.36  php
php5.5.37-nts 5.5.37  php
php5.5.37     5.5.37  php
php5.5.38-nts 5.5.38  php
php5.5.38     5.5.38  php
php5.5.4-nts  5.5.4   php
php5.5.4      5.5.4   php
php5.5.5-nts  5.5.5   php
php5.5.5      5.5.5   php
php5.5.6-nts  5.5.6   php
php5.5.6      5.5.6   php
php5.5.7-nts  5.5.7   php
php5.5.7      5.5.7   php
php5.5.8-nts  5.5.8   php
php5.5.8      5.5.8   php
php5.5.9-nts  5.5.9   php
php5.5.9      5.5.9   php
php5.5        5.5.38  php
php5.6-nts    5.6.40  php
php5.6.0-nts  5.6.0   php
php5.6.0      5.6.0   php
php5.6.1-nts  5.6.1   php
php5.6.1      5.6.1   php
php5.6.10-nts 5.6.10  php
php5.6.10     5.6.10  php
php5.6.11-nts 5.6.11  php
php5.6.11     5.6.11  php
php5.6.12-nts 5.6.12  php
php5.6.12     5.6.12  php
php5.6.13-nts 5.6.13  php
php5.6.13     5.6.13  php
php5.6.14-nts 5.6.14  php
php5.6.14     5.6.14  php
php5.6.15-nts 5.6.15  php
php5.6.15     5.6.15  php
php5.6.16-nts 5.6.16  php
php5.6.16     5.6.16  php
php5.6.17-nts 5.6.17  php
php5.6.17     5.6.17  php
php5.6.18-nts 5.6.18  php
php5.6.18     5.6.18  php
php5.6.19-nts 5.6.19  php
php5.6.19     5.6.19  php
php5.6.2-nts  5.6.2   php
php5.6.2      5.6.2   php
php5.6.20-nts 5.6.20  php
php5.6.20     5.6.20  php
php5.6.21-nts 5.6.21  php
php5.6.21     5.6.21  php
php5.6.22-nts 5.6.22  php
php5.6.22     5.6.22  php
php5.6.23-nts 5.6.23  php
php5.6.23     5.6.23  php
php5.6.24-nts 5.6.24  php
php5.6.24     5.6.24  php
php5.6.25-nts 5.6.25  php
php5.6.25     5.6.25  php
php5.6.26-nts 5.6.26  php
php5.6.26     5.6.26  php
php5.6.27-nts 5.6.27  php
php5.6.27     5.6.27  php
php5.6.28-nts 5.6.28  php
php5.6.28     5.6.28  php
php5.6.29-nts 5.6.29  php
php5.6.29     5.6.29  php
php5.6.3-nts  5.6.3   php
php5.6.3      5.6.3   php
php5.6.4-nts  5.6.4   php
php5.6.4      5.6.4   php
php5.6.5-nts  5.6.5   php
php5.6.5      5.6.5   php
php5.6.6-nts  5.6.6   php
php5.6.6      5.6.6   php
php5.6.7-nts  5.6.7   php
php5.6.7      5.6.7   php
php5.6.8-nts  5.6.8   php
php5.6.8      5.6.8   php
php5.6.9-nts  5.6.9   php
php5.6.9      5.6.9   php
php5.6        5.6.40  php
php7.0-nts    7.0.33  php
php7.0.0-nts  7.0.0   php
php7.0.0      7.0.0   php
php7.0.1-nts  7.0.1   php
php7.0.1      7.0.1   php
php7.0.10-nts 7.0.10  php
php7.0.10     7.0.10  php
php7.0.11-nts 7.0.11  php
php7.0.11     7.0.11  php
php7.0.12-nts 7.0.12  php
php7.0.12     7.0.12  php
php7.0.13-nts 7.0.13  php
php7.0.13     7.0.13  php
php7.0.14-nts 7.0.14  php
php7.0.14     7.0.14  php
php7.0.15-nts 7.0.15  php
php7.0.15     7.0.15  php
php7.0.16-nts 7.0.16  php
php7.0.16     7.0.16  php
php7.0.17-nts 7.0.17  php
php7.0.17     7.0.17  php
php7.0.18-nts 7.0.18  php
php7.0.18     7.0.18  php
php7.0.2-nts  7.0.2   php
php7.0.2      7.0.2   php
php7.0.3-nts  7.0.3   php
php7.0.3      7.0.3   php                                                                       
php7.0.4-nts  7.0.4   php                                                                       
php7.0.4      7.0.4   php                                                                       
php7.0.5-nts  7.0.5   php                                                                       
php7.0.5      7.0.5   php
php7.0.6-nts  7.0.6   php
php7.0.6      7.0.6   php
php7.0.7-nts  7.0.7   php
php7.0.7      7.0.7   php
php7.0.8-nts  7.0.8   php
php7.0.8      7.0.8   php
php7.0.9-nts  7.0.9   php
php7.0.9      7.0.9   php
php7.0        7.0.33  php
php7.1-nts    7.1.33  php
php7.1.0-nts  7.1.0   php
php7.1.0      7.1.0   php
php7.1.1-nts  7.1.1   php
php7.1.1      7.1.1   php
php7.1.2-nts  7.1.2   php
php7.1.2      7.1.2   php
php7.1.3-nts  7.1.3   php
php7.1.3      7.1.3   php
php7.1.4-nts  7.1.4   php
php7.1.4      7.1.4   php
php7.1        7.1.33  php
php7.2-nts    7.2.34  php
php7.2        7.2.34  php
php7.3-nts    7.3.33  php
php7.3        7.3.33  php
php7.4-nts    7.4.33  php
php7.4        7.4.33  php
php8.0-nts    8.0.30  php
php8.0        8.0.30  php
php8.1-nts    8.1.25  php
php8.1        8.1.25  php
php8.2-nts    8.2.12  php
php8.2        8.2.12  php
```

# バージョン指定してインストールする

```
scoop install php8.2
```

```
Installing 'php8.2' (8.2.12) [64bit] from php bucket
php-8.2.12-Win32-vs16-x64.zip (30.4 MB) [=========================================================================================================================================================================================] 100%
Checking hash of php-8.2.12-Win32-vs16-x64.zip ... ok.
Extracting php-8.2.12-Win32-vs16-x64.zip ... done.
Linking ~\scoop\apps\php8.2\current => ~\scoop\apps\php8.2\8.2.12
Creating shim for 'php'.
Creating shim for 'php-cgi'.
Persisting conf.d
Running post_install script...
'php8.2' (8.2.12) was installed successfully!
'php8.2' suggests installing 'extras/vcredist2019'.
```

# インストールされたか確認してみる
```
php -v
```
```
PHP 8.2.12 (cli) (built: Oct 24 2023 21:15:15) (ZTS Visual C++ 2019 x64)
Copyright (c) The PHP Group
Zend Engine v4.2.12, Copyright (c) Zend Technologies
```

# 切り替え方法
別バージョンをインストール後に、切り替える場合
```
scoop reset php8.2
```