Sachez que quand PHP est installé en CGI, il ne fait PLUS le remplissage des infos de HTTP Basic tout seul. Et donc que SPIP ne peut pas se connecter avec cette méthode puisqu'il ne détecte aucune info de PHP_AUTH_USER et PHP_AUTH_PW.
Exemple :
https://github.com/symfony/symfony/issues/1813
J'ai utilisé la même solution mais sans le drapeau "L", en mettant la ligne au tout début, dans la partie "config perso" de notre .htaccess fourni par SPIP. Et ensuite dans config/mes_options.php j'ai rempli moi-même les infos, avec le PHP donné en exemple.
Et ça remarche.
La question est : je ne sais pas si on peut détecter ça d'office dans SPIP et ne pas avoir à le faire soi-même ?
A minima on pourrait :
- mettre la ligne dans le htaccess mais commentée, en disant "décommentez ça si avez un PHP en CGI"
# Décommentez cette ligne si vous avez un PHP installé en CGI
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
- Dans le PHP de SPIP, faire un test sur PHP_AUTH_USER et tester d'utiliser cette méthode (de remplir à la main) et si vraiment on a rien on vide tout. C'est ce qui est proposé ici :
http://orangejuiceliberationfront.com/http-auth-with-php-in-cgi-mode-e-g-on-dreamhost/