Je viens de passer 2 sites en mutualisation (ils sont tout les 2 sur le même domaine, avec des sous domaines différents).
Ils étaient auparavant tous les 2 sur la même base de données avec un prefix de cookie spécifique.
J'ai essayé de mettre dans le config/connect.php le
$GLOBALS['cookie_prefix'] = 'monprefixe';
Mais ce n'est pas tout le temps pris en compte.
En particulier, ça n'est pas pris en compte au login
Pour l'instant, j'ai fait dans le mes_options.php du spip mutualisé :
<?php
require _DIR_RACINE.'mutualisation/mutualiser.php';
define ('_INSTALL_HOST_DB', '127.0.0.1');
$quota_cache = 50;
Mais en écrivant ceci, je me dit que la bonne méthode serait de vérifier si dans le dossier sites/$sites/config/ il n'y aurait pas un mes_options.php et le charger le cas échéant.
Je viens de passer 2 sites en mutualisation (ils sont tout les 2 sur le même domaine, avec des sous domaines différents).
J'ai essayé de mettre dans le config/connect.php le
$GLOBALS['cookie_prefix'] = 'monprefixe';
Mais ce n'est pas tout le temps pris en compte.
En particulier, ça n'est pas pris en compte au login
Ah oui,je confirme !
Mais en écrivant ceci, je me dit que la bonne méthode serait de vérifier si dans le dossier sites/$sites/config/ il n'y aurait pas un mes_options.php et le charger le cas échéant.
C'est étrange, c'est ce que font les dernières lignes de la fonction demarrer_site()...
En fait, il semble que la fonction spip_initialisation() appelée juste avant le mes_fonctions.php du site dans la fonction demarrer_site() récupère des cookie avec la valeur du moment (pas encore celui de mes_options du site.
// appliquer le cookie_prefix
if ($GLOBALS['cookie_prefix'] != 'spip') {
include_spip('inc/cookie');
recuperer_cookies_spip($GLOBALS['cookie_prefix']);
}
En mettant dans mutualiser.php l'appel de mes_options avant spip_initialisation, la connexion fonctionne.
Est-ce que ça pose un problème de mettre cet include avant spip_initialisation ?
if (is_readable($f = $e._NOM_PERMANENTS_INACCESSIBLES._NOM_CONFIG.'.php'))
include($f); // attention cet include n'est pas en globals
Puisqu'on charge sans problème le mes_options commun à tous les sites, il n'y a en effet pas de raison que le chargement de celui-ci pose problème.
Mais intuitivement ça ne me parait la bonne solution: c'est à celui général de régler tout ce qui concerne la mutualisation. Mais pour l'instant je n'ai pas de solution alternative.
Mais intuitivement ça ne me parait la bonne solution: c'est à celui
général de régler tout ce qui concerne la mutualisation. Mais pour
l'instant je n'ai pas de solution alternative.
C'est bien le cas : le code de mutualisation sai mettre un
cookie_prefix tout seul ; mais du coup, après avoir expérimenté des
trucs, RealET faisait un commentaire sur le fait que le mes_options de
sites/xxx/config/ était chargé trop tard. Ce qui était vrai aussi.