osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

2 Pages V   1 2 >  
Reply to this topicStart new topic
> MS2 de PHP4 vers PHP5, admin impossible
fjacq
posté 1 Jul 2012, 11:56
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



Bonjour, je tente de basculer ma version MS2.2 de PHP4 vers PHP5 et je n'arrive pas à me connecter sur l'admin.
lorsque je vais dans catalog/admin j'ai de suite le message suivant :
"La page n'est pas redirigée correctement
Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas."
dans la barre de navigattion je suis sur catalog/admin/login.php
Je fais mes tests avec easyphp 5.3.3

Si quelqu'un a une idée, merci d'avance
Go to the top of the page
 
fjacq
posté 1 Jul 2012, 18:00
Message #2


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



pas de réponse ? personne n'a une idée allez j'ai bon espoir.
Go to the top of the page
 
Bonbec
posté 1 Jul 2012, 19:46
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonsoir,

As-tu essayé de supprimer les cookies de ton site ?
Souvent cela règle le problème.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
chti_poupon
posté 1 Jul 2012, 21:23
Message #4


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Va voir dans le fichier httpd.conf d'eazyphp si l'adresse ne doit pas être avec le port (genre 127.0.0.1:80) et si la base s'appelle toujours localhost et non pas 127.0.0.1 comme dans la version 5.3.9
Celà pourrait expliquer qu'il soit "perdu" mais +1 avec Bonbec pour les cookies qui peuvent aussi causer des troubles de connexion.
Chti poupon
Go to the top of the page
 
fjacq
posté 2 Jul 2012, 07:40
Message #5


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



merci pour ces réponses, j'ai essayé de supprimer les cookies , ça ne change rien. je vais vérifier le httpd.conf d'eazyphp et je vous tiens au courant.
Go to the top of the page
 
fjacq
posté 2 Jul 2012, 12:53
Message #6


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



le truc surprenant c'est que j'ai installé la version 2.3 de base pour voir et elle fonctionne
Go to the top of the page
 
Bonbec
posté 2 Jul 2012, 13:01
Message #7


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Alors compare les configure.php de ton admin ainsi que ton .htaccess des fois qu'un chemin soit erroné.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
fjacq
posté 2 Jul 2012, 19:08
Message #8


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



Suite aux conseils, j'ai regardé et dans le httpd.conf j'ai :
Listen 127.0.0.1:80
ServerName localhost:80

faut il que je code la même chose dans les fichiers config (pour HTTP_SERVER, HTTP_COOKIE_DOMAIN et DB_SERVER) ?

pour le .htaccess j'ai comparé entre ma version (MS2.2) ko en PHP5 et la version 2.3 ok: ils sont idem

si vous avez des idées, merci d'avance

Go to the top of the page
 
chti_poupon
posté 2 Jul 2012, 20:30
Message #9


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Citation
faut il que je code la même chose dans les fichiers config (pour HTTP_SERVER, HTTP_COOKIE_DOMAIN et DB_SERVER) ?

Oui !
Go to the top of the page
 
fjacq
posté 2 Jul 2012, 22:28
Message #10


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



j'ai codé :
define('HTTP_SERVER', 'http://127.0.0.1:80');
define('HTTP_CATALOG_SERVER', 'http://127.0.0.1:80');
et define('DB_SERVER', 'localhost:80');

Il ne se passe rien (la connexion ne s fait plus du tout !!!)

sur la version 2.3 de base (qui tourne) il y a
define('HTTP_SERVER', 'http://127.0.0.1');
define('HTTP_CATALOG_SERVER', 'http://127.0.0.1');
et define('DB_SERVER', 'localhost');

A l'aide
Go to the top of the page
 
chti_poupon
posté 3 Jul 2012, 06:41
Message #11


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



blush.gif localhost tout court ! excuses !
Go to the top of the page
 
fjacq
posté 3 Jul 2012, 07:42
Message #12


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



trop fort de répondre aussi tôt. je test ce soir. merci, à suivre...
Go to the top of the page
 
fjacq
posté 3 Jul 2012, 18:44
Message #13


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



et bien voila, j'ai testé:
define('HTTP_SERVER', 'http://127.0.0.1:80');
define('HTTP_CATALOG_SERVER', 'http://127.0.0.1:80');
et define('DB_SERVER', 'localhost');

hélas toujours pareil
Go to the top of the page
 
fjacq
posté 3 Jul 2012, 20:38
Message #14


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



pour voir d'où ça peux provenir, j'ai réinstallé ma version MS2.2 sur easyphp (en php5).
sans modif dans l'admin:

Deprecated: Function session_is_registered() is deprecated in C:\PHP5\EasyPHP-5.3.3\www\catalog\admin\includes\functions\sessions.php

Deprecated: Function session_register() is deprecated in C:\PHP5\EasyPHP-5.3.3\www\catalog\admin\includes\functions\sessions.php

Deprecated: Function eregi() is deprecated in C:\PHP5\EasyPHP-5.3.3\www\catalog\admin\includes\classes\language.php

ça c'est normal mais

Si je modifie language.php en remplacant
if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {

par
if (preg_match('/^(' . $value . ')(;q=[0-9]\\.[0-9])?$/i', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {

(et aprés avoir supprimer les cookies), je retombe sur le fichu message initial....
Go to the top of the page
 
chti_poupon
posté 6 Jul 2012, 16:26
Message #15


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Merci de relire ceci. Jusqu'ici, nous t'avions répondu. mrgreen.gif
Dans ton preg_match, essaies de remplacer le délimiteur / par &. (çà marche quand il y a un / dans la chaîne délimitée)
Vérifies aussi dans ton navigateur si la langue est définie (Edition, préférences ou similaires des réglages du navigateur) - puis redémarre-le

Et cesse de mépriser ceux qui t'aident: nous ne sommes pas tes valets stipendiés. mrgreen.gif

Chti poupon
Go to the top of the page
 
Bonbec
posté 6 Jul 2012, 16:27
Message #16


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

Tu peux tester avec une autre page, par exemple 1.php :
Code
<?php echo '____OK____'; ?>
.
Est-ce que cette page est bien lancée et çà affiche ____OK____ ou est-ce que çà redirige en boucle avant ?

Si elle est bien lancée, c'est que c'est la page login.php qui pose problème :
1) Pour voir si la page login est bien lancée et déterminer à partir de quel moment çà redirige en boucle, je tenterais de placer un
Code
echo '____OK____<br>'; exit;
en début de fichier login.php puis j’appellerais la page.
Si çà s'affiche, je décalerais la ligne de code en dessous du premier require pour commencer puis j’appellerais la page pour voir et ainsi de suite.

2) Si elle n'est pas lancée, çà peut être :
- un problème de htaccess si il y a un rewriterules qu'il ne comprend pas, mais logiquement il n'y en a pas dans le htaccess de l'admin (Tout est bien en commentaire dans cet htaccess ?).
- un problème de serveur, mais là la partie catalog devrait être aussi impactée. Est ce le cas ?
- un problème de cookies


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
fjacq
posté 8 Jul 2012, 18:35
Message #17


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



Merci pour cette réponse,

je m'obstinai à regarder la partie admin car la page de index du catalogue est ok (DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFINE_MAINPAGE) sauf que lorsque je clique sur un produit, je ne récupére pas la description du produit.
dans product_info je ne récupére rien dans $product_info_query

le souci viens du (int)$HTTP_GET_VARS['products_id'] qui n'est pas renseigné.
grace au forum j'ai trouvé : dans mon php.ini, le register_long_arrays n'était pas à on

Coté catalog c'est bon. Maintenant je vais repartir dans mes soucis d'admin, à suivre.

vraiment merci pour votre aide. sans elle pas de salut

Ce message a été modifié par fjacq - 10 Jul 2012, 13:19.
Go to the top of the page
 
fjacq
posté 15 Jul 2012, 08:50
Message #18


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



maintenant que la partie catalog est ok, je suis repartie sur mon probléme d'admin.
le probléme a évolué (je n'attaquais pas la bonne base !!!) donc maintenant j'arrive bien sur login.php
sauf que je boucle sur login.php (je ne vais jamais sur index même avec le bon profil).
la table admin est bien mise à jour (admin_logdate) mais dans la table session, seulle sesskey est mis à jour, il n'y a rien dans value.
comme indiqué sur le forum, j'ai testé en passsant session_use_only_cookies à 0 dans le php.ini mais ça n'a rien changé (même aprés arret relace de Easy php).
J'ai essayé avec wamp en me disant que peut être ça cahngerai mais c'est idem qu'avec easyphp.
j'ai regardé mon fichier application_top mais je ne vois rien d'annormal (c'est le fichier qui fonctionne en php4).
comme expliqué dans un post, j'ai modifié le fichier includes/functions/sessions.php ainsi:
function tep_session_register($variable) {
global $session_started;

if ($session_started == true) {
if (PHP_VERSION < 4.3) {
return session_register($variable);
} else {
if (isset($GLOBALS[$variable])) {
$_SESSION[$variable] =& $GLOBALS[$variable];
} else {
$_SESSION[$variable] = null;
}
}
}

return false;
}

function tep_session_is_registered($variable) {
if (PHP_VERSION < 4.3) {
return session_is_registered($variable);
} else {
return isset($_SESSION) && array_key_exists($variable, $_SESSION);
}
}

function tep_session_unregister($variable) {
if (PHP_VERSION < 4.3) {
return session_unregister($variable);
} else {
unset($_SESSION[$variable]);
}
}

En résumé session boucle et moi aussi Si quelqu'un a une idée. merci d'avance pour votre aide.
Go to the top of the page
 
chti_poupon
posté 15 Jul 2012, 19:26
Message #19


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
La version originale est
Code
function tep_session_register($variable) {
                global $session_started;

                if ($session_started == true) {
                  if (PHP_VERSION < 4.3) {
                                return session_register($variable);
                  } else {
                                if (isset($GLOBALS[$variable])) {
                                  $_SESSION[$variable] =& $GLOBALS[$variable];
                                } else {
                                  $_SESSION[$variable] = null;
                                }
                  }
                }

                return false;
  }

  function tep_session_is_registered($variable) {
                if (PHP_VERSION < 4.3) {
                  return session_is_registered($variable);
                } else {
                  return isset($_SESSION) && array_key_exists($variable, $_SESSION);
                }
  }

  function tep_session_unregister($variable) {
                if (PHP_VERSION < 4.3) {
                  return session_unregister($variable);
                } else {
                  unset($_SESSION[$variable]);
                }
  }

Comme tout est modifié partout, rien n'est sûr: version, php, local, distant, source de la modif ?
As-tu testé ce que t'a dit Bonbec sur un autre fichier basique ?
Et essayer de procéder avec ordre et mesure: la mouche qui tape sur le carreau trouve rarement l'ouverture de la fenêtre.
Chti poupon
Go to the top of the page
 
fjacq
posté 15 Jul 2012, 21:02
Message #20


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



Merci chti_poupon pour cet aide et cette pensée ma fois fort juste (l'histoire de la mouche si elle n'est pas copyright je la ressortirais).
Concernant le fichier login, j'ai essayé ce que m'avais dit Bonbec (la page login étant maintenant bien lancé, j'ai ajouté echo '____OK____<br>'; exit; en début du fichier index) : je passe bien dans index.php. en revenche si je met ce echo '____OK____<br>'; exit; aprés le require('includes/application_top.php');
rien ne se passe, je reste sur le fichier login

et comme tu le dis comme je suis en distant sur du PHP4 et en local sur du PHP5 avec de plus des versions mysql différentes , tout peux arriver.je garde espoir, la lumiére va finir par arriver (pas toute seule ça c'est sur alors je cherche).
merci encore de l'aide apportée
Go to the top of the page
 
FoxP2
posté 16 Jul 2012, 05:34
Message #21


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



Citation (chti_poupon @ 15 Jul 2012, 19:26) *
la mouche qui tape sur le carreau trouve rarement l'ouverture de la fenêtre.

je lui donne pas cher de sa peau si elle croise mon chemin.

pour le sujet :
http://www.oscommerce.info/confluence/disp...l+Log-In+Update
http://www.oscommerce.info/confluence/disp...ns+for+PHP+v5.3
http://www.oscommerce.info/confluence/disp...tize+Parameters
http://www.oscommerce.info/confluence/disp...patibility+Code
Go to the top of the page
 
fjacq
posté 16 Jul 2012, 12:33
Message #22


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



merci FoxP2.
je suis actuellement sur la MS2.2 et mon idée initiale est de faire fonctioner cette version sous PHP5. Les liens que tu indiques sont pour migrer la version 2.2 vers la version 2.3.
c'est peut être la solution, mais avant de me lancer dans cette migration je souhaite continuer à travailler sur la piste suivi actuelement (la fenêtre finira par s'ouvrir).
comme je l'ai indiqué, la table admin est bien mise à jour (admin_logdate) mais dans la table session, seulle sesskey est mis à jour, il n'y a rien dans value.
c'est peut être pour ça que je ne vais pas sur index aprés avoir entré mon profil dans login.php ?
Mon souci tourne (je pense) autours de login.php, index.php, application_top.php et session.php (dans classes et dans function). c'est encore vaste comme domaine d'investigation mais entre votre aide sur le forum et les tests que je fais je garde espoir.
juste un point qui m'échape (en fait il y en a surement d'autres qui m'échapent): lorsque l'on va sur admin on arrive sur login.php directement et non pas sur index.php ?
Un grand merci à vous tous pour votre aide précieuse (sans elle ça fait longtemps que j'aurai fini éclaté contre la fenétre)
Go to the top of the page
 
chti_poupon
posté 16 Jul 2012, 16:36
Message #23


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2757
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Citation
Les liens que tu indiques sont pour migrer la version 2.2 vers la version 2.3.

As-tu bien lu ?

Citation
lorsque l'on va sur admin on arrive sur login.php directement et non pas sur index.php ?

Oui mais dans index il y a:
Code
  require('includes/application_top.php');

Et dans application_top.php, on trouve:
Code
// redirect to login page if administrator is not yet logged in
  if (!tep_session_is_registered('admin')) {
    $redirect = false;

    $current_page = basename($PHP_SELF);

    if ($current_page != FILENAME_LOGIN) {
      if (!tep_session_is_registered('redirect_origin')) {
        tep_session_register('redirect_origin');

        $redirect_origin = array('page' => $current_page,
                                 'get' => $HTTP_GET_VARS);
      }

      $redirect = true;
    }

    if ($redirect == true) {
      tep_redirect(tep_href_link(FILENAME_LOGIN));
    }

    unset($redirect);
  }

Et tu te retrouves sur login
CQFD
Go to the top of the page
 
Dudule
posté 18 Jul 2012, 23:49
Message #24


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 198
Inscrit : 9-December 02
Lieu : Bordeaux
Membre no 654



Citation (chti_poupon @ 16 Jul 2012, 17:36) *
Et tu te retrouves sur login
CQFD
Apparemment c'est le même problème que le mien : http://www.oscommerce-fr.info/forum/index....showtopic=69998
Le programme boucle, il y a 3 sessions de créées...
J'ai laissé tombé provisoirement et court-circuité l'identification pour travailler en local, mais un jour ou l'autre va bien falloir tout avoir bien propre pour une production en 5.3 !!!


--------------------
osCommerce Online Merchant v2.2 RC1 W3C Valid FR en prod en PHP5.2.14 chez O2Switch
Go to the top of the page
 
fjacq
posté 21 Jul 2012, 11:34
Message #25


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 113
Inscrit : 5-March 06
Membre no 9290



bonjour, je continue mes recherche et j'affine l'origine de mon probléme de connexion en admin (enfin j'essaie).
Voila où j'en suit:
dans application_top.php de l'admin, l'exécution de tep_session_register('language'); et de tep_session_register('languages_id'); n'a aucun effet.
Dans la partie value de la table sessions il n'y a rien d'écrit (normalement je devrais (je pense) avoir: language|s:6:"french";languages_id|s:1:"1";)
Lorsque je suis dans la partie catalogue, la partie value est bien renseignée (avec les valeur indiquée ci dessus).
J'ai vérifié dans includes/functions/sessions.php : la fonction tep_session_register est codée de la même façon dans admin et dans catalogue.
sachant que la fonction tep_session_start(); est ok je ne sais plus trop que regarder.
J'essaie d'eviter le syndrome de la mouche mais la fenêtre reste fermée.
Pour info, je n'ai pas le code indiqué par chti_poupon (merci à lui et à vous tous) dans application_top.php et je ne retouve pas non plus les mêmes codes que ceux à modifier dans les liens fournis par FoxP2.
Merci par avance pour vos conseils avisés.
Go to the top of the page
 

2 Pages V   1 2 >
Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 16th April 2024 - 05:25
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)