Erreur logout depuis ecrire avec nginx
## Description du bug / Comment le reproduire
1. un serveur web sous nginx
2. se connecter à l’espace privé et y entrer
3. se déconnecter depuis l’espace privé
4. une demande de connexion HTTP s’ouvre, au lieu d’afficher le site public
{width=198 height=137}
## Comportement attendu
Afficher le site public sur la déconnexion de ecrire/
## Piste de résolution
- L’action logout vérifie entre autres `isset($_SERVER['PHP_AUTH_USER'])` pour afficher la boite de connexion, or contrairement à apache où la valeur est inexistante, ici elle vaut `$_SERVER['PHP_AUTH_USER'] = ''`. Elle existe mais est vide.
- Pourtant dans spip.php cette valeur est inexistante aussi sous nginx
- inc/auth la peuple là https://git.spip.net/spip/ecrire/-/blob/0930f715f8bd4da7d0677e0b8b272e8575c6f393/inc/auth.php#L180
```php
// Si auth http differtente de basic, PHP_AUTH_PW
// est indisponible mais tentons quand meme pour
// autocreation via LDAP
|| isset($_SERVER['REMOTE_USER'])
&& ($r = lire_php_auth($_SERVER['PHP_AUTH_USER'] = $_SERVER['REMOTE_USER'], ''))
```
car `$_SERVER['REMOTE_USER']` est défini sous nginx (`''`), mais pas sous apache.
A priori il faut tester `isset($_SERVER['REMOTE_USER']) && $_SERVER['REMOTE_USER'] && ...`
## Informations techniques
* Version de SPIP : SPIP 4.4 & 5.0-dev
* Version de PHP : 8.5
* Serveur web (si pertinent) : Nginx
issue