Bonjour à tous
J'ai un pb avec la ligne ajoutée par Spip au début des squelettes :
<!--a:2:{s:11:"process_ins";s:3:"php";s:7:"entetes";a:2:{s:12:"X-Spip-Cache";......
Cette ligne provoque une erreur (sauf au recalcul du squelette)
dès qu'on utilise les sessions php (par ex. session_register() ).
Comment faire ?
A+
François
Bonjour à tous
J'ai un pb avec la ligne ajoutée par Spip au début des squelettes :
<!--a:2:{s:11:"process_ins";s:3:"php";s:7:"entetes";a:2:{s:12:
"X-Spip-Cache";......
Cette ligne provoque une erreur (sauf au recalcul du
squelette) dès qu'on utilise les sessions php (par ex.
session_register() ).
Comment faire ?
A+
François
La présence de cette ligne est anormale, tu dois avoir un #ENV qui traîne
quelque part...
Olivier GENDRIN a écrit :
Bonjour à tous
J'ai un pb avec la ligne ajoutée par Spip au début des squelettes :
<!--a:2:{s:11:"process_ins";s:3:"php";s:7:"entetes";a:2:{s:12:
"X-Spip-Cache";......
Cette ligne provoque une erreur (sauf au recalcul du squelette) dès qu'on utilise les sessions php (par ex. session_register() ).
Comment faire ?
A+
François
La présence de cette ligne est anormale, tu dois avoir un #ENV qui traîne
quelque part...
Peux-tu préciser ?
J'utilise #ENV{xxx} pour échanger des paramètres entre squelettes.
Les formulaires de login l'utilisent aussi.
Merci
François
La 1ère ligne en cause est écrite en tête du squelette
dans ecrire/public/cacher.php :
n°ligne
194 // Enregistrer le fichier cache qui contient
// 1) la carte d'identite de la page (ses "globals", genre id_article=7)
// 2) son contenu
...
205 // l'enregistrer, compresse ou non...
$chemin_cache .= $gz;
ecrire_fichier(_DIR_CACHE . $chemin_cache,
"<!-- "
. str_replace("\n", " ", serialize($page['signal']))
. " -->\n"
. $page['texte']);
Cette "carte d'identite" est-elle indispensable ?
Peux-t-on la placer ailleurs ?
Merci de toute aide
François
Olivier GENDRIN a écrit :
>> Bonjour à tous
>>
>> J'ai un pb avec la ligne ajoutée par Spip au début des squelettes :
>> <!--a:2:{s:11:"process_ins";s:3:"php";s:7:"entetes";a:2:{s:12:
>> "X-Spip-Cache";......
>>
>> Cette ligne provoque une erreur (sauf au recalcul du
>> squelette) dès qu'on utilise les sessions php (par ex.
>> session_register() ).
>>
>> Comment faire ?
>> A+
>> François
>
> La présence de cette ligne est anormale, tu dois avoir un #ENV qui
> traîne quelque part...
>
Peux-tu préciser ?
J'utilise #ENV{xxx} pour échanger des paramètres entre squelettes.
Les formulaires de login l'utilisent aussi.
Cette ligne apparaît quand tu écris #ENV sans paramètre dans ton squelette.
Merci
François
En fait, le problème est dans la fonction "restaurer_meta_donnees" dans cacher.php :
La première instruction
if (preg_match("/^<!-- ([^\n]*) -->\n/ms", $contenu, $match)) {
ne détecte pas la "carte d'identité"... et donc la laisse dans le contenu à traiter !
Le pb semble venir de la détection de la fin de ligne...
J'ai modifié l'instruction comme ceci
if (preg_match("/^<!-- ([^>]*) -->./ms", $contenu, $match)) {
et ça marche...
Je suis preneur d'une modification "officielle" car la fin de ligne peut avoir 2 caractères...
A+
François
FGH a écrit :
La 1ère ligne en cause est écrite en tête du squelette
dans ecrire/public/cacher.php :
n°ligne
194 // Enregistrer le fichier cache qui contient
// 1) la carte d'identite de la page (ses "globals", genre id_article=7)
// 2) son contenu
...
205 // l'enregistrer, compresse ou non...
$chemin_cache .= $gz;
ecrire_fichier(_DIR_CACHE . $chemin_cache,
"<!-- "
. str_replace("\n", " ", serialize($page['signal']))
. " -->\n"
. $page['texte']);
Cette "carte d'identite" est-elle indispensable ?
Peux-t-on la placer ailleurs ?
Merci de toute aide
François
* FGH tapotait, le 06/03/2007 12:58:
En fait, le problème est dans la fonction "restaurer_meta_donnees" dans cacher.php :
La première instruction
if (preg_match("/^<!-- ([^\n]*) -->\n/ms", $contenu, $match)) {
ne détecte pas la "carte d'identité"... et donc la laisse dans le contenu à traiter !
Le pb semble venir de la détection de la fin de ligne...
J'ai modifié l'instruction comme ceci
if (preg_match("/^<!-- ([^>]*) -->./ms", $contenu, $match)) {
et ça marche...
Je suis preneur d'une modification "officielle" car la fin de ligne peut avoir 2 caractères...
Si tu penses avoir levé un bug, fait un ticket ou un pos t sur spip dev.
Précise ta version de SPIP, de php, ton os, version d'apache...
--
RealET
Bonjour à tous
Sur les conseils de RealET je poste ce mail sur <dev>.
J'utilise la 1.9.1 [7502] sous easyPHP 1.6.0.0.
RealET a écrit :
> Si tu penses avoir levé un bug, fait un ticket ou un post sur spip dev.
> Précise ta version de SPIP, de php, ton os, version d'apache...
>
FGH a écrit :
Bonjour à tous
J'ai un pb avec la ligne ajoutée par Spip au début des squelettes :
<!--a:2:{s:11:"process_ins";s:3:"php";s:7:"entetes";a:2:{s:12:"X-Spip-Cache";......
Cette ligne provoque une erreur (sauf au recalcul du squelette)
dès qu'on utilise les sessions php (par ex. session_register() ).
Comment faire ?
A+
François
> * FGH tapotait, le 06/03/2007 12:58:
>> En fait, le problème est dans la fonction "restaurer_meta_donnees"
>> dans cacher.php :
>> La première instruction
>> if (preg_match("/^<!-- ([^\n]*) -->\n/ms", $contenu, $match)) {
>> ne détecte pas la "carte d'identité"... et donc la laisse dans le
>> contenu à traiter !
>>
>> Le pb semble venir de la détection de la fin de ligne...
>> J'ai modifié l'instruction comme ceci
>> if (preg_match("/^<!-- ([^>]*) -->./ms", $contenu, $match)) {
>> et ça marche...
>>
>> Je suis preneur d'une modification "officielle" car la fin de ligne
>> peut avoir 2 caractères...
A+
François
Erreur de destinataire...
Je l'ai posté sur <dev>.