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

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Problème de passage de php 5.3.29 en 5.4 ou 5.5, correctif "register_globals"
bertrand144
posté 1 Jul 2015, 17:02
Message #1


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 35
Inscrit : 19-November 06
Lieu : ile de france
Membre no 13349



Bonjour à tous,

Je reposte cette question car je pensse que je l'ai postée au mauvaise endroit.

Site avec hebergement mutualisé chez ovh suite à leur demande de passage en php 5.4 ou 5.5, tentative de passage de l'hebergement mutualisé de 5.3.29 et ça fonctionne avec quelques MODIFICATION MAIS pour le passage en PHP 5.4 ou 5.5 là ça plante (oscommerce 2.2MS2).
Après avoir effectué les modifications relatives au problème de "register global off", j'ai perdu l'affichage des textes des fichier langues coté boutique et admin.
Blocage du site coté client juste avant l'affichage de la box language et admin (affichage selon langue titres etc...).
La fonction qui gère l'appelle langue semble ne pas fonctionnée, et pas d'affichage box column_right.php.

Les FICHIERS MODIFIÉS pour correctif "register_globals et register_long_arrays" : selon cette page http://www.oscommerce-fr.info/forum/index....showtopic=51542
catalog/includes/application_top.php
catalog/includes/functions/sessions.php
catalog/admin/includes/application_top.php
catalog/admin/includes/functions/sessions.php

Le message d'erreur ....
"Error!
Unable to determine the page link! "

merci de votre aide.


--------------------
Bertrand oscommerce 2.2-MS2 php5.3 migrat php 5.5 ovh mutua. sql privé.
Go to the top of the page
 
Havock
posté 2 Jul 2015, 08:06
Message #2


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 894
Inscrit : 4-February 04
Membre no 1926



Bonjour Bertrand,

As tu essayé en reprenant directement les fichiers sessions.php de la version 2.3.4 ?


--------------------
L'indispensable est en cours de traitement,
L'urgent sera traité demain,
Le normal sera traité plus tard,
Le reste on vera ...
En conclusion : les journées sont trop courtes.
Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-)
Go to the top of the page
 
bertrand144
posté 3 Jul 2015, 06:27
Message #3


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 35
Inscrit : 19-November 06
Lieu : ile de france
Membre no 13349



Merci pour ta réponse "havock" malheureusement,
J'ai déjà fait la tentative et c'est la même erreur et même message le fichier cession est déjà celui de la version 2.
je fait 2 tests avec les 2 fichiers cession.

Quelques informations complémentaire :

serveur privé Base SQL 5.1.31
Base phpmyadmin en "latin1_swedish_ci"

*********** Dans Le fichier french.php

@setlocale(LC_TIME, 'fr_FR.ISO_8859-1');
define('DATE_FORMAT_SHORT', '%d/%m/%Y'); // this is used for strftime()
define('DATE_FORMAT_LONG', '%A %d %B %Y'); // this is used for strftime()
define('DATE_FORMAT', 'd/m/Y'); // this is used for date()
define('DATE_TIME_FORMAT', DATE_FORMAT_SHORT . ' %H:%M:%S');
define('DATE_FORMAT_DEVIS', '%m%d'); // pour numero de devis
define('HTML_PARAMS','dir="LTR" lang="fr"');

function tep_date_raw($date, $reverse = false) {
if ($reverse) {
return substr($date, 0, 2) . substr($date, 3, 2) . substr($date, 6, 4);
} else {
return substr($date, 6, 4) . substr($date, 3, 2) . substr($date, 0, 2);
}
}
define('CHARSET', 'iso-8859-1');
etc....

******** Dans le fichier .htaccess : SetEnv PHP_VER 5



--------------------
Bertrand oscommerce 2.2-MS2 php5.3 migrat php 5.5 ovh mutua. sql privé.
Go to the top of the page
 
Kawaii77
posté 26 Jul 2015, 18:32
Message #4


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 29
Inscrit : 15-December 08
Membre no 23957



Est-ce que ton problème ne ressemblerait pas à celui que j'ai eu : http://www.oscommerce-fr.info/forum/index....showtopic=71439 ?
Je suis en train de basculer sur php 5.5 et tout disparaissait parce que la langue et d'autres choses ne s'enregistraient pas dans la session.
Est-ce que tu peux voir le contenu d'une session et si language_id a une valeur ou est à N ?


--------------------
version 2.3
Go to the top of the page
 
bertrand144
posté 31 Jul 2015, 17:12
Message #5


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 35
Inscrit : 19-November 06
Lieu : ile de france
Membre no 13349



J'ai testé avec un echo() $languages_id= 4 pour la cession et chez moi 4 c'est le francais ?



Ce message a été modifié par bertrand144 - 31 Jul 2015, 18:17.


--------------------
Bertrand oscommerce 2.2-MS2 php5.3 migrat php 5.5 ovh mutua. sql privé.
Go to the top of the page
 
Havock
posté 3 Aug 2015, 07:53
Message #6


Ceinture bleue OSC
Icône de groupe

Groupe : Membres
Messages : 894
Inscrit : 4-February 04
Membre no 1926



Chez moi c'est 1.

Jette un oeil au contenu de ta table languages

Ce message a été modifié par Havock - 3 Aug 2015, 07:57.


--------------------
L'indispensable est en cours de traitement,
L'urgent sera traité demain,
Le normal sera traité plus tard,
Le reste on vera ...
En conclusion : les journées sont trop courtes.
Utilisateur de MS2.2 Max 1.5 - OSC-Affiliate 1.09 - Admin With Access Levels 2.1 - Meta Tag Controller/ Generator - Credit/Gift Voucher/Coupons 5.05 - Download Controller v5.3 - X-Sell MS2 - WYSIWYG HTML Editor for Admin 1.7 - Dynamic Mo Pics - Loginbox Best - Order logging before payment processing - User Tracking - Faster Page Loads, Less DB queries - Plus plein de modifs perso :-)
Go to the top of the page
 
bertrand144
posté 5 Aug 2015, 21:34
Message #7


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 35
Inscrit : 19-November 06
Lieu : ile de france
Membre no 13349



Dans ma table languages le francais c'est bien : 4 - french - fr - sort-order : 1
Par contre j'ai fait un test sans la box languages dans ce cas la boutique s'affiche mais sans aucun
produits, comme si il n'y avait pas une gestion de la langue pour les articles depuis la modification du code pour la gestion des cessions.
Un peu comme ton problème de gestion des cessions ou gestion de la langues.

- Coté admin voilà l'erreur indiquée:

Warning: include(/home/aevasson/www/evas/admindeadmin/includes/languages/french): failed to open stream: Success in /home/aevasson/www/evas/admindeadmin/includes/application_top.php on line 166
Warning: include(/home/aevasson/www/evas/admindeadmin/includes/languages/french): failed to open stream: Success in /home/aevasson/www/evas/admindeadmin/includes/application_top.php on line 166
Warning: include(): Failed opening 'includes/languages/french/' for inclusion (include_path='.:/usr/local/php5.4/lib/php') in /home/aevasson/www/evas/admindeadmin/includes/application_top.php on line 166


Ce message a été modifié par bertrand144 - 5 Aug 2015, 22:37.


--------------------
Bertrand oscommerce 2.2-MS2 php5.3 migrat php 5.5 ovh mutua. sql privé.
Go to the top of the page
 
pedrowill
posté 6 Aug 2015, 05:46
Message #8


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Même problème ici après un passage hier de 60GP (et oui j'ai trainé un peu...) vers PRO chez OVH.

FATAL ERROR: register_globals is disabled in php.ini, please enable it!

Du coup commencé par les modifications ici :

Installation - register_globals=off, patch
http://www.oscommerce-fr.info/forum/index....showtopic=51542
Ou en anglais : http://www.inveostore.com/blog/oscommerce-...er-globals-off/

Ensuite même problème :
Unable to determine the page link!
Tombé par hasard là dessus : http://blog.domainclay.com/2012/11/resolve...-page-link.html
Il suffit de rajouter en haut de includes/configure.php.
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;

Maintenant il me reste à régler les : Deprecated: Function ereg_replace() is deprecated

Puis des images redimensionnées qui semblent disparaitre.... product_thumb.php?img=images/...jpg

On fait avancer le le schmilblick...

Ce message a été modifié par pedrowill - 6 Aug 2015, 06:56.


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
pedrowill
posté 6 Aug 2015, 06:17
Message #9


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Bon voilà la fin du problème, enfin j'espère...

Deprecated: Function ereg_replace() is deprecated in /home/.../includes/functions/general.php on line 57
Voir : http://stackoverflow.com/questions/1832896...precated-in-php
Change :$string = ereg_replace(' +', ' ', trim($string));
To : $string = preg_replace('/ \+/', ' ', trim($string));

Deprecated: Function split() is deprecated in /home/.../includes/functions/general.php on line 595
Voir : http://stackoverflow.com/questions/1832896...precated-in-php
Change: $pieces = split('[[:space:]]+', $search_str);
To : $pieces = preg_split("/[\s,]+/", $search_str);

Pour les images redimensionnées le problème provient de product-thumb.php
Voir ici : http://forums.oscommerce.com/topic/285510-...ms-on-php5-2-5/

Il faut remplacer votre fichier catalog/product-thumb.php par
Code
<?php
// "On the Fly Thumbnailer" using PHP GD Graphics Library by Nathan Welch (v1.5)
// Scales product images dynamically, resulting in smaller file sizes, and keeps
// proper image ratio.  Used in conjunction with modified tep_image in html_output.php
//
// CONFIGURATION SETTINGS
//
// Use Resampling? Set the value below to true to generate resampled thumbnails
// resulting in smoother-looking images.  Not supported in GD ver. < 2.01
$use_resampling = true;
//
// Create True Color Thumbnails? Better quality overall but set to false if you
// have GD version < 2.01 or if creating transparent thumbnails.
$use_truecolor = true;
//
// Output GIFs as JPEGS? Set this option to true if you have GD version > 1.6
// and want to output GIF thumbnails as JPGs instead of GIFs or PNGs.  Note that your
// GIF transparencies will not be retained in the thumbnail if you output them
// as JPGs. If you have GD Library < 1.6 with GIF create support, GIFs will
// be output as GIFs. Set the "matte" color below if setting this option to true.
$gif_as_jpeg = false;
//
// Define RGB Color Value for background matte color if outputting GIFs as JPEGs
// Example: white is r=255, b=255, g=255; black is r=0, b=0, g=0; red is r=255, b=0, g=0;
$r = 255; // Red color value (0-255)
$g = 255; // Green color value (0-255)
$b = 255; // Blue color value (0-255)
//
// Maintain aspect ration
$maintain_aspect_ratio = true;
// END CONFIGURATION SETTINGS

// get and validate image path disabled for admin area
$image_path = str_replace ( "../", "", $_GET['img'] );


$image_path = $_GET['img'];
$new_width = $_GET['w'];
$new_height = $_GET['h'];


// Get the size of the image
$image = @getimagesize($image_path);
$orig_width = $image[0];
$orig_height = $image[1];

// Do not output if get values are larger than orig image
if ($new_width > $orig_width || $new_height > $orig_height) {
    $new_width = $orig_width;
    $new_height = $orig_height;    
} else {
    //adjust width and height for aspect ratio
    if ($maintain_aspect_ratio) {
        //get lowest side
        if($orig_width>$orig_height){
            // height is smaller so constrain width
            $new_width = $orig_width*$new_height/$orig_height;
        } else {
            // width is smaller or same
            $new_height = $orig_height*$new_width/$orig_width;
        }
    } // end if
} // end if


// Create appropriate image header
if ($image[2] == 2 || ($image[2] == 1 && $gif_as_jpeg)) {
    header('Content-type: image/jpeg');
} elseif ($image[2] == 1 && function_exists("imagegif")) {
    header('Content-type: image/gif');
}  elseif ($image[2] == 3 || $image[2] == 1) {
    header('Content-type: image/png');
}

// Create a new, empty image based on settings
if (function_exists("imagecreatetruecolor") && $use_truecolor)
    $tmp_img = imagecreatetruecolor($new_width,$new_height);
else
    $tmp_img = imagecreate($new_width,$new_height);

$th_bg_color = imagecolorallocate($tmp_img, $r, $g, $b);
        
imagefill($tmp_img, 0, 0, $th_bg_color);
imagecolortransparent($tmp_img, $th_bg_color);

// Create the image to be scaled
if ($image[2] == 2 && function_exists("imagecreatefromjpeg")) {
    $src = imagecreatefromjpeg($image_path);
} elseif ($image[2] == 1 && function_exists("imagecreatefromgif")) {
    $src = imagecreatefromgif($image_path);
} elseif (($image[2] == 3 || $image[2] == 1) && function_exists("imagecreatefrompng")) {
    $src = imagecreatefrompng($image_path);
}

// Scale the image based on settings
if (function_exists("imagecopyresampled") && $use_resampling)
    imagecopyresampled($tmp_img, $src, 0, 0, 0, 0, $new_width, $new_height, $orig_width, $orig_height);
else
    imagecopyresized($tmp_img, $src, 0, 0, 0, 0, $new_width, $new_height, $orig_width, $orig_height);

        
// Output the image
if ($image[2] == 2 || ($image[2] == 1 && $gif_as_jpeg)) {
    imagejpeg($tmp_img);
} elseif ($image[2] == 1 && function_exists("imagegif")) {
    imagegif($tmp_img);
} elseif ($image[2] == 3 || $image[2] == 1) {
    imagepng($tmp_img);
}

// Clear the image from memory
imagedestroy($src);
imagedestroy($tmp_img);

?>


Maintenant tout fonctionne chez moi côté client smile.gif
Il me reste à vérifier le back-office


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
pedrowill
posté 6 Aug 2015, 06:43
Message #10


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Bon bah pas si facile que ca le back-office...

Ca commence avec : FATAL ERROR: register_globals is disabled in php.ini, please enable it!
Il suffit de faire la manip citée ci-dessus pour les fichiers de l'admin :
Installation - register_globals=off, patch
http://www.oscommerce-fr.info/forum/index....showtopic=51542
Ou en anglais : http://www.inveostore.com/blog/oscommerce-...er-globals-off/

Ensuite :
Deprecated: Function eregi() is deprecated in /home/.../admin/includes/classes/language.php on line 87
Voir : http://stackoverflow.com/questions/1567922...regi-to-php-5-3
Change : if (eregi('^(' . $value . ')(;q=[0-9]\\.[0-9])?$', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {}
To : if (preg_match('#^(' . $value . ')(;q=[0-9]\\.[0-9])?$#i', $this->browser_languages[$i]) && isset($this->catalog_languages[$key])) {}

Puis :
Warning: include(/home/.../admin/includes/languages/english): failed to open stream: Inappropriate ioctl for device in /home/.../admin/includes/application_top.php on line 162
Warning: include(/home/.../admin/includes/languages/english): failed to open stream: Inappropriate ioctl for device in /home/.../admin/includes/application_top.php on line 162
Warning: include(): Failed opening 'includes/languages/english/' for inclusion (include_path='.:/usr/local/php5.4/lib/php') in /home/.../admin/includes/application_top.php on line 162
Il faut refaire la manip comme pour Unable to determine the page link! dans le configure.php de l'admin cette fois.
http://blog.domainclay.com/2012/11/resolve...-page-link.html
Il suffit de rajouter en haut de includes/configure.php.
$HTTP_SERVER_VARS = $_SERVER;
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;

Ensuite une erreur qui vient peut être de l'installation de Prestashop que je fais en parallèle :
Fatal error: Cannot re-assign $this in /home/.../admin/includes/classes/upload.php on line 31
Voir : http://forums.oscommerce.com/topic/166123-...re-assign-this/
Il suffit d'aller dans admin/includes/classes/upload.php on line 31
Change : $this = null;
To this : unset($this); 

Voilà j'ai accès au back-office mais il y a encore des erreurs...
Ce sera pour le prochain (et denier post?)


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
pedrowill
posté 6 Aug 2015, 06:55
Message #11


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Bon dernier post, ça suffit pour aujourd'hui :

Deprecated: Function ereg() is deprecated in /home/.../admin/configuration.php on line 80
et
Deprecated: Function ereg() is deprecated in /home/.../admin/modules.php on line 236

Voir : http://forums.oscommerce.com/topic/353363-...onversion-help/
Dans les 2 cas
Change : if (ereg('->', $use_function)) {
To : if (preg_match('/->/', $use_function)) {

J'espère que tout ça débloquera un peu de monde.

@++ / Pedro


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
bertrand144
posté 6 Aug 2015, 21:19
Message #12


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 35
Inscrit : 19-November 06
Lieu : ile de france
Membre no 13349



Après rajout des 3 petites ligne ci dessous dans les 2 fichiers (1) includes/configure.php. et idem en ( 2) admin/includes/configure.php

$HTTP_SERVER_VARS = $_SERVER;
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;

çà fonctionne maintenant en php 5.4

MERCI pedrowill il manquait bien dans les explications de ce lien
http://www.oscommerce-fr.info/forum/index....showtopic=51542
cette information.


--------------------
Bertrand oscommerce 2.2-MS2 php5.3 migrat php 5.5 ovh mutua. sql privé.
Go to the top of the page
 
pedrowill
posté 7 Aug 2015, 06:09
Message #13


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Content Bertrand que cela puisse t'aider wink.gif


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
FEC
posté 14 Sep 2015, 16:12
Message #14


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 30
Inscrit : 5-May 04
Membre no 2416



MERCI beaucoup pour le guide très détaillés de pedrowill, sans votre guide je n'arrive jamais de trouver des solutions.

Avez vous noter que après tous ces modification, si on met le site sous PHP5.4, et si on clique sur "mon compte", il affiche la page de " excl.gif Utilisation de cookie excl.gif " au lieu de la page de connection pour client, si on remets sous PHP5.2, il affiche la page de connection sans problème.

Est-ce que vos sites ont ce problème? avez vous des solutions?

Merci encore à pedrowill !
Go to the top of the page
 
pedrowill
posté 14 Sep 2015, 16:28
Message #15


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 7
Inscrit : 3-February 05
Membre no 4621



Bonjour FEC,

Merci pour votre retour, cela fait plaisir de savoir que mon post vous a aidé wink.gif

Non je n'ai pas constaté ce problème de cookies. Mon serveur est en PHP Version 5.4.38 et la page "Mon Compte" fonctionne normallement.

Je n'ai pas d'idée à priori... je vous laisse donc parcourir le forum pour voir si certaines personnes ont déjà été confronté à cela.

Bon courage !

PedroWill


--------------------
osCommerce MS2.2 - hébergement OVH mut60GP / Linux - Module paiement ATOS / Crédit Agricole (E-transaction) - Contribution : list product in column, ATOS
Go to the top of the page
 
FEC
posté 14 Sep 2015, 20:11
Message #16


Ceinture blanche+ OSC
Icône de groupe

Groupe : Membres
Messages : 30
Inscrit : 5-May 04
Membre no 2416



Bonsoir, PedroWill,

Merci de votre réponse, c'est bien de savoir que vous n'avez pas ce problème de cookies, donc je vais faire des recherches.

Juste pour votre info: un Monsieur (anglais) a de problème de paiement par Carte Bancaire après son passage de OCS 2.2 MS2 à PHP 5.4 , merci de faire attension si vous n'avez pas ce même problème:
http://forums.oscommerce.com/topic/396775-...date-to-php-54/
Go to the top of the page
 

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 : 17th November 2017 - 22:25
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)