Let's focus on Arcanist first, since Arcanist is now (2023) not supported by any stable official version of PHP and this is a problem for its end-users.
NOTE: Most of these issues are probably not caused by Arcanist itself, but by Phorge tests executed by Arcanist.
A brief riepilogue:
| PHP Website current stable | #php_8.2_support | https://www.php.net/downloads.php |
| Debian bookworm (testing now) | #php_8.2_support | https://packages.debian.org/bookworm/php |
| Ubuntu 20.04 LTS | #php_8.1_support | https://packages.ubuntu.com/jammy/php |
So, let's try to concentrate directly on #php_8.2_support since that is the current official stable.
== How to install PHP 8.2 in your distribution to do tests ==
In Ubuntu, start with this page: https://launchpad.net/~ondrej/+archive/ubuntu/php/ in short:
```
name=Install PHP 8.2 in Ubuntu
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2 php8.2-cli php8.2-mbstring php8.2-iconv php8.2-mysql php8.2-curl
```
In Debian:
```
name=Install PHP 8.2 in Debian
# execute the instructions from this file:
# https://packages.sury.org/php/README.txt
# then
sudo apt install php8.2 php8.2-cli php8.2-mbstring php8.2-iconv php8.2-mysql php8.2-curl
```
== Workarounds ==
Use **Debian GNU/Linux bullseye** (current stable) that is shipped with PHP 7.3 (https://packages.debian.org/bullseye/php)
Use **Ubuntu focal 20.04 LTS** that is shipped with PHP 7.4 (https://packages.ubuntu.com/focal/php)
Use any other version of Ubuntu, installing another version of PHP in a safe way (https://launchpad.net/~ondrej/+archive/ubuntu/php/) - example:
```
name=Install old PHP in Ubuntu
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4 php7.4-cli php7.4-mbstring php7.4-iconv php7.4-mysql php7.4-curl
```
Use any other version of Debian, installing another version of PHP in a safe way (https://packages.sury.org/php/) example:
```
name=Install old PHP in Debian
# execute the instructions from this file:
# https://packages.sury.org/php/README.txt
# then
sudo apt update
sudo apt install php7.4 php7.4-cli php7.4-mbstring php7.4-iconv php7.4-mysql php7.4-curl
```
== Current situation ==
| Command | Affected by | Fixed in |
|-----------------|--------------|----------|
| arc lint | ✅ T15188 , T15257 | D25092 |
| arc unit (basic)| ✅ T15188 | D25092 |
| arc unit --everything | ✅ T15201 + T15200 | D25100 + D25099 + D25104 |
| arc diff (basic)| ✅ T15188 | D25092 |
| arc patch | ✅ T15254 + T15259 | D25123 + D25128 |
| arc branches | ✅ Works | |
| arc paste | ✅ Works | |
| ? | ? | |