installation de spip1.9.1
L'installation de spip 1.9.2 était impossible sur notre serveur. Après quelques recherches, il s'avère que la fonction url_de_base(), définie dans ecrire/inc/utils.php ne fonctionne pas convenablement.
Notre serveur envoie la variable $_SERVER['HTTP_X_FORWARDED_HOST']. Nous entrons donc dans la boucle :
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $a = $GLOBALS['meta']['adresse_site']; return (substr($a,-1) == '/')?$a:$a.'/'; }
Or la variable $GLOBALS['meta']['adresse_site'] reste désespérement vide. Je n'ai d'ailleurs trouvé aucune trace de l'endroit où elle serait remplie. Bon, j'avoue, je n'ai pas non plus beaucoup cherché.
Du coup, url_de_base() nous renvoie systématiquement : / ce qui est évidemment bien ennuyeux.
J'ai donc remplacé cette boucle if par :
if (isset($_SERVER['HTTP_X_FORWARDED_HOST'])) { $server = $_SERVER['HTTP_X_FORWARDED_HOST']; } else {$server = $_SERVER['HTTP_HOST'];};
et la ligne :
$myself = $http.'://'.$_SERVER['HTTP_HOST'].$REQUEST_URI;
par
$myself = $http.'://'.$server.$GLOBALS['REQUEST_URI'];
Vous pourrez noter que j'ai remplacé le $REQUEST_URI par $GLOBALS['REQUEST_URI'] puisque nous avons désactivé les variables globales. Or j'ai découvert que nous pouvions retrouver son contenu dans ce tableau.