Problème de session avec linux

Problème de session avec linux - Installation - Linux et OS Alternatifs

Marsh Posté le 17-10-2007 à 16:51:42    

Bonjour,
Pourriez-vous me dire que signifie cette phrase pour un novice.
Votre serveur n'instancie pas les sessions sur votre serveur  
 Il est mal paramétré => cela ne peut pas marcher
Et de quelle façon peut-on corriger le paramétrage
Cordialement

Reply

Marsh Posté le 17-10-2007 à 16:51:42   

Reply

Marsh Posté le 17-10-2007 à 16:54:15    

j'adore ce genre de message où l'on ne donne pas le contexte et où l'on doit tout deviner :heink:
 
Tu as ce genre de message avec quelle application ? au niveau du login avant d'accéder à une session graphique ?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 17-10-2007 à 16:57:43    

Session c'est un peu vague... tu essaies de faire quoi ? De te logger via ssh sur un serveur distant ? D'acceder à une page sur un serveur web via un navigateur ?  

Reply

Marsh Posté le 17-10-2007 à 17:46:48    

Mes scripts utilisant les variables de session posent problème avec le passage en Linux ils ne fonctionnement correctement que sous FreeBSD.
 
Le pire c'est que le fonctionnement est très aléatoire, il faut réactualiser plusieurs fois la pase et parfois les variables $_SESSION sont lues mais pas toujours, bref "la galère"

Reply

Marsh Posté le 17-10-2007 à 17:53:29    

Tu comptes nous donner les éléments au compte goutte ?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 17-10-2007 à 17:56:18    

L'identification se fait d'une façon aléatoire, client, ou administrateur.

Reply

Marsh Posté le 17-10-2007 à 18:05:53    

on est pas devins : précise :o
 
c'est un serveur web ? avec du php ? qui fait le café ? déca ou expresso ?
 
si tu donnes pas de détails (sur les versions des différents composants toussa) on risque pas de t'aider...


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 17-10-2007 à 18:22:15    


Merci de vos réponses,
Je suis hébergé chez Amen (serveur claranet) et Amen change sont système d'exploitation de FreeBSD => Linux et j'ai découvert le problème en phase d'essais.Leurs réponses au problème est de mettre cause mon script, le script fonction déjà parfaitement sur un autre serveur Linux.

Reply

Marsh Posté le 17-10-2007 à 18:25:28    

ok donc serveur web a priori. Si c'est du php et que ça passe pas de linux à freebsd tu as 2 solutions : soit le code est super pourri, soit il y a une erreur dans la conf du serveur, par exemple un problème de droits avec le répertoire des sessions (ou même son existence). Là je dirais que c'est le php.ini qu'il faut modifier :o (surement /usr/local/etc/php.ini sur un freebsd)


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 17-10-2007 à 18:36:45    

Le passage de Freebsd vers Linux. En Freebsd tout fonctionne.

Reply

Marsh Posté le 17-10-2007 à 18:36:45   

Reply

Marsh Posté le 17-10-2007 à 18:39:27    

le fichier php.ini doit se situer dans un répertoire style /etc/php/... Ca dépend de ta distribution.
Pour plus d'info : http://fr3.php.net/manual/fr/ref.session.php

Message cité 1 fois
Message édité par o'gure le 17-10-2007 à 18:44:57

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 18-10-2007 à 11:22:58    

Bonjour,
Merci de vos informations, j’ai récupéré le fichier php.ini que je trouve correct je joins la partie session si vous trouvez des anomalies ?
PHP Version 4.4.2-90claranet
session
Session Support  enabled  
Registered save handlers  files user  
 
Directive       Local Value Master Value
session.auto_start      Off      Off
session.bug_compat_42       On      On
session.bug_compat_warn       On      On
session.cache_expire      180      180
session.cache_limiter     nocache     nocache
session.cookie_domain     no value     no value
session.cookie_lifetime        0       0
session.cookie_path        /       /
session.cookie_secure      Off      Off
session.entropy_file     no value    no value
session.entropy_length        0      0
session.gc_divisor      100     100
session.gc_maxlifetime      1440     1440
session.gc_probability       1               1
session.name             PHPSESSID    PHPSESSID
session.referer_check     no value     no value
session.save_handler       files      files
session.save_path   /var/lib/php4    /var/lib/php4
session.serialize_handler php      php
session.use_cookies          On      On
session.use_only_cookies Off     Off
session.use_trans_sid         Off     Off
Cordialement

Reply

Marsh Posté le 18-10-2007 à 11:26:23    

o'gure a écrit :

le fichier php.ini doit se situer dans un répertoire style /etc/php/... Ca dépend de ta distribution.
Pour plus d'info : http://fr3.php.net/manual/fr/ref.session.php


 

session.auto_start on


 
?


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 18-10-2007 à 13:06:55    


Il faut que tu regardes les différences au niveau phpinfo() entre un serveur bsd qui fonctionne et un serveur linux qui foire. Il faudrait aussi que tu nous montres le code d'initiatilisation de tes sessions, savoir si la base sql avec tes utilisateurs n'a pas changé de forme (encodage ?) pendant la migration, savoir pour ce message : "Votre serveur n'instancie pas les sessions sur votre serveur  " Tu le sors d'où ? C'est un message venant du serveur (en francais ?) ou d'une gestion des erreurs par ton script ?  
 
Bref il faudrait que tu nous aides en nous disant ce que tu sais :|

Reply

Marsh Posté le 18-10-2007 à 16:52:38    

Voici ce que j'ai pu voir comme différence dans la section [sessions]
 
 
Dans la partie sessions de FreeBSD qui fonctionne
 
session.save_path /tmp           /tmp
******************************************************
 
Dans la partie sessions de Linux qui ne fonctionne pas
 
session.save_path /var/lib/php4 /var/lib/php4
******************************************************
 
Voici le code d'initiatilisation des sessions  
 
 
session_start();
 
session_register("SESSION" );
 
/* Ouverture de l'objet mysql */
$db_host = $serveur_mysql;
 
$db_username = $utilisateur_mysql;
 
$db_password = $mot_de_passe_mysql;
 
$db_name = $nom_de_la_base;
 
$db_prefixe = "chocolat";
 
$db = new DBLayer($db_host, $db_username, $db_password, $db_name, $db_password);
 
// Initialisation de SESSION si nécessaire  
if (! isset($_SESSION)) { $_SESSION = array();}
 
// Initialisation de l'objet caddie si nécessaire  
if (! isset($_SESSION['caddie'])) {
 $_SESSION['caddie'] = new Caddie;
}
 
include($dirroot."/mysql.inc.php" );
 
// Initialisation de SESSION pour la couleur  
if (! empty($_GET['style']))  
 
 { $_SESSION['style'] = $_GET['style'];  
 
 } elseif  
 
 (empty($_SESSION['style']))  
 
 { $_SESSION['style'] = "bleu";  
 
 }
 
// Recherche de la feuille de style
 
$stylefile = $wwwroot."/lib/css/".$_SESSION['style'].".css";
 
// Déclaration des fonctions
 
$fonctionsfile = $dirroot."/lib/fonctions/fonctions.php";
 
if (file_exists($fonctionsfile)){
require ($fonctionsfile);
}
 
}

Reply

Marsh Posté le 18-10-2007 à 17:21:37    

Les sessions sont sauvées dans /var/lib/php4 ? C'est normal ? Le repertoire est accessible au compte apache en ecriture ?


Message édité par rawcut le 18-10-2007 à 17:21:55
Reply

Marsh Posté le 18-10-2007 à 18:45:58    

Merci de votre aide, j’abandonne je vais faire une redirection et changerais d’hébergeur.
Cordialement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed