Q: Error de sintaxis de PHP7 con PHP8 Estoy trabajando con PHP8 con Ubuntu/Apache2 y tengo un error de sintaxis con las propiedades tipadas que se incorporaron en PHP 7.4, es decir, que con el siguiente código:
<?php

class Foo
{
    private string $name = 'Foo';


    public function printName()
    {
        echo $this->name;
    }
}

$foo = new Foo();
$foo->printName();

Obtengo un error en la línea: private string $name = 'Foo';. En los logs de error de Apache2:

[Sat Aug 07 16:53:34.181584 2021] [php7:error] [pid 1493] [client
::1:47842] PHP Parse error:  syntax error, unexpected 'string'
$(T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in
/var/www/html/PHP/TestTypedProperties.php on line 5, referer:
http:/$http://localhost/PHP/pruebas/


En la terminal, la version de PHP:
php --version


PHP 8.0.9 (cli) (built: Jul 30 2021 13:03:21) ( NTS ) Copyright (c)
The PHP Group Zend Engine v4.0.9, Copyright (c) Zend Technologies
with Zend OPcache v8.0.9, Copyright (c), by Zend Technologies

Con la función phpinfo() en un fichero PHP, sin embargo, obtengo: PHP Version 7.2.34-23+ubuntu18.04.1+deb.sury.org+1.

Tengo versiones anteriores instaladas de PHP, el comando:
update-alternatives --config php

Muestra:
Existen 4 opciones para la alternativa php (que provee /usr/bin/php).

  Selección   Ruta             Prioridad  Estado
------------------------------------------------------------
  0            /usr/bin/php8.0   80        modo automático
  1            /usr/bin/hhvm     40        modo manual
  2            /usr/bin/php7.2   72        modo manual
  3            /usr/bin/php7.4   74        modo manual
* 4            /usr/bin/php8.0   80        modo manual

Y mi lista de módulos PHP instalados:
dpkg --get-selections | grep -i php


libapache2-mod-php7.2                           install
libapache2-mod-php7.4                           install
libapache2-mod-php8.0                           install php
install php-bz2                                         install
php-common                                      install php-curl
install php-dev                                         install php-gd
install php-imagick                                     install
php-mbstring                                    install php-mysql
install php-pear                                        install
php-php-gettext                                 install php-phpseclib
install php-sqlite3                                     install
php-tcpdf                                       install php-xml
install php-zip                                         install
php5.6-common                                   install php5.6-imagick
install php7.0-common                                   install
php7.0-imagick                                  install php7.1-common
install php7.1-imagick                                  install php7.2
install php7.2-bz2                                      install
php7.2-cli                                      install php7.2-common
install php7.2-curl                                     install
php7.2-gd                                       install php7.2-imagick
install php7.2-json                                     install
php7.2-mbstring                                 install php7.2-mysql
install php7.2-opcache                                  install
php7.2-readline                                 install php7.2-sqlite3
deinstall php7.2-xml                                      install
php7.2-zip                                      install php7.3-common
install php7.3-imagick                                  install php7.4
install php7.4-bz2                                      install
php7.4-cli                                      install php7.4-common
install php7.4-curl                                     install
php7.4-dev                                      install php7.4-gd
install php7.4-imagick                                  install
php7.4-imap                                     install php7.4-intl
install php7.4-json                                     install
php7.4-mbstring                                 install php7.4-mysql
install php7.4-opcache                                  install
php7.4-readline                                 install php7.4-sqlite3
deinstall php7.4-xml                                      install
php7.4-xmlrpc                                   install php7.4-zip
install php8.0                                          install
php8.0-bz2                                      install php8.0-cli
install php8.0-common                                   install
php8.0-curl                                     install php8.0-dev
install php8.0-gd                                       install
php8.0-imagick                                  install
php8.0-mbstring                                 install php8.0-mysql
install php8.0-opcache                                  install
php8.0-readline                                 install php8.0-sqlite3
install php8.0-xml                                      install
php8.0-zip                                      install phpmyadmin
install pkg-php-tools                                   install


Editado
He seleccionado PHP7.4 y reiniciado Apache y mismo problema.


A: Al usar sudo update-alternatives --config php se modifica la versión de cli PHP, es decir la versión de PHP de la terminal.
Además de lo anterior, si se va a usar una versión diferente en las aplicaciones, hay que cargar el módulo PHP deseado en Apache.
Paso a paso

*

*Deshabilitar el módulo PHP en uso, el que indica phpinfo() si se usa en un fichero PHP.
sudo a2dismod php7.2


*Cargar el módulo de PHP deseado, por ejemplo, para PHP8:
sudo a2enmod php8.0


*Reiniciar Apache2:
systemctl restart apache2
Ahora, al cargar el fichero PHP con phpinfo() aparece la versión esperada de PHP:
PHP Version 8.0.9

La salución viene de: https://ostechnix.com/how-to-switch-between-multiple-php-versions-in-ubuntu/

A: Intenta colocar
    <?php

class Foo
{
    private (string) $name = 'Foo'; // En paréntesis el decorador del tipo de variable.


    public function printName()
    {
        echo $this->name;
    }
}

    $foo = new Foo();
    $foo->printName();

Mejores ejemplos acerca de la declaración de tipos puedes encontrar en el enlace a continuación:
Type Casting
