[Résolu] Erreur php7

Pour les problèmes avec l'installation ou l'utilisation du script - About install and use problems.

Modérateurs : boulmontjj, Pierre G., Malabar, Otomatic

Règles du forum
Pensez à effectuer une recherche et à consulter la FAQ, la réponse à votre question a de grandes chances d'avoir déjà été donnée ;-).
Dans votre message, n'oubliez pas de mentionner l'URL vers votre livre d'or, cela nous permet de vous aider bien plus efficacement :super:.
10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

[Résolu] Erreur php7

Messagepar 10lem » Ven 05 Jan 2018, 16:33

Bonjour
Je viens de passer mon site sous php7 et bien sur agb ne marche plus.
J'ai suivit et appliquer les modifs proposées par otomatic mais j'ai le message d'erreur suivant :
Cet environnement ne supporte pas MySQL qui est requis pour utiliser cette classe
:siffle:
MErci
Dernière édition par Malabar le Mar 09 Jan 2018, 08:12, édité 1 fois.
Raison : Tag Résolu

Otomatic
Modérateur
Modérateur
Messages : 677
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Erreur php7

Messagepar Otomatic » Ven 05 Jan 2018, 18:47

Bonjour,

Vous avez bien suivi viewtopic.php?f=2&t=3215, mais un petit truc à dû vous échapper, remplacer les appels à la class mysql par ceux à la class mysqli :
Au début du fichier agb\config\config_base.php, juste après <?php, on ajoute les lignes qui n'existeraient pas :

Code : Tout sélectionner

<?php
define('NAMES_UTF8', 1);
//define('SEE_QUERIES', 1);
//$database_type = "MySQL";
$database_type = "MySQLi";

Cela permet de remplacer la class mysql par la class mysqli. Bien noter les lignes commentées (// au début de ligne), donc non actives.

Pendant qu'on est là, si vous avez un problème avec les caractères accentuées provenant de la base de données - par exemple les messages - il faudra commenter la ligne define('NAMES_UTF8', 1);
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

Re: Erreur php7

Messagepar 10lem » Ven 05 Jan 2018, 21:20

Otomatic a écrit :un petit truc à dû vous échapper
C'est tout php qui m'échappe :siffle:

Otomatic a écrit :remplacer les appels à la class mysql par ceux à la class mysqli :
Au début du fichier agb\config\config_base.php, juste après <?php, on ajoute les lignes qui n'existeraient pas :

Code : Tout sélectionner

<?php
define('NAMES_UTF8', 1);
//define('SEE_QUERIES', 1);
//$database_type = "MySQL";
$database_type = "MySQLi";

Cela permet de remplacer la class mysql par la class mysqli. Bien noter les lignes commentées (// au début de ligne), donc non actives.

Ça marche super. C'est génial qu'AGB tourne sous php7. Ce dernier apporte un réel confort en terme de rapidité. Bravo

Otomatic a écrit :Pendant qu'on est là, si vous avez un problème avec les caractères accentuées provenant de la base de données - par exemple les messages - il faudra commenter la ligne define('NAMES_UTF8', 1);
Le seule petit problème avec les caractères accentuées se situe sur les lignes :

[*]"Retour � l'accueil du site"
[*]"Note moyenne attribu�e par les visiteurs � ce site"
[*]"Veuillez copier ce code de 4 lettres dans la case de droite : (� quoi ca sert ?)"

Otomatic
Modérateur
Modérateur
Messages : 677
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Erreur php7

Messagepar Otomatic » Sam 06 Jan 2018, 11:04

Bonjour,

Là, il s'agit - a priori - des définitions des chaines de caractères internes à Alex Guestbook. Mais avant de vous donner une explication et afin que celle-ci soit fiable, merci de donner le lien sur votre livre d'or afin que je vérifie quelques « trucs ».
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

Re: Erreur php7

Messagepar 10lem » Sam 06 Jan 2018, 17:30

Envoyé par mp
merci

Otomatic
Modérateur
Modérateur
Messages : 677
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: Erreur php7

Messagepar Otomatic » Sam 06 Jan 2018, 18:27

Bonsoir,

L'entête (header php) est bien envoyée avec : Content-Type: text/html; charset=UTF-8 (Normal, à partir de PHP 5.6, le jeu de caractères par défaut est utf-8).
Le fait de voir � à la place des caractères diacritiques comme à é è ù etc. dénote l'envoi de chaines de caractères encodées iso-8859-1 dans l'environnement déclaré UTF-8.
Avec Notepad++ ouvrir le fichier livredor\languages\francais.php.
Dans la barre d'état en bas, vous devriez voir “ANSI”, ce qui signifie que le fichier est encodé CP1252 (Équivalent Windows de iso-8859-1).
Nous allons recoder ce fichier en utf-8. Pour ce faire, dans Notepad++, menu Encodage, Convertir en utf-8 sans BOM.
Dans la ligne d'état “ANSI” est devenu “UTF-8”.
Il faut également dire que le fichier est encodé utf-8, donc modifier le contenu de $SCRIPT_ENCODAGE (Ligne 12) par

Code : Tout sélectionner

$SCRIPT_ENCODAGE = "utf-8";

et sauvegarder le fichier.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

Re: Erreur php7

Messagepar 10lem » Sam 06 Jan 2018, 19:52

Super ça marche
Merci beaucoup

10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

Re: [Résolu] Erreur php7

Messagepar 10lem » Mar 09 Jan 2018, 16:36

Le problème est résolu pour le site précédemment cité.
Pour un autre site que je viens aussi de basculer en php7 j'ai encore quelques caractère bizarres qui s'affichent uniquement sur le nom et les avis clients.
Je pense avoir fait toutes les modifications :
-encodage utf8 sans le bom, la ligne $SCRIPT_ENCODAGE = "utf-8"; présente dans le fichier français.php
-corrections dans mysql.php : viewtopic.php?f=1&t=3235
-corrections base sql : viewtopic.php?f=6&t=3056&p=15347&hilit=passer+utf8#p15347
Bref je ne trouve pas

PS : c'est vraiment compliqué cette histoire d'encodage et j'imagine que pour vous ça doit être pénible de répondre toujours la même chose aux gens comme moi. Je vais peut être dire n'importe quoi, mais pourquoi ne pas proposer directement les fichiers modifiés. Idem pour php7

Encore merci

Otomatic
Modérateur
Modérateur
Messages : 677
Inscription : Ven 11 Août 2006, 09:33
Localisation : Paris
Contact :

Re: [Résolu] Erreur php7

Messagepar Otomatic » Mar 09 Jan 2018, 17:54

Bonjour,

Passer totalement @lex Guestbook totalement en utf-8 et PHP 7 (Et même 7.2.x) n'est pas très simple à effectuer. Il y a beaucoup de fichiers non seulement à modifier, mais également à transcoder et dans lesquels il faut ajouter des entêtes.
J'ai sous le coude une version totalement utf-8 et PHP 7.2 que j'ai nommée 5.0.6utf-8. Malabar a plus ou moins prévu de la sortir officiellement cette année ;-)
Si vous êtes d'accord pour “essuyer les plâtres”, le fichier zip est là : http://aviatechno.net/files/agb_utf8.zip
Je vous conseille de sauvegarder tout le contenu de votre dossier agb pour pouvoir revenir en arrière facilement avant d'y copier tous les fichiers de agb_utf8 (sauf setup.php puisque la base de données existe dèja) en écrasant les fichiers présents.
- Vous aurez à vérifier que votre fichier agb\config\config_base.php contient bien juste avant la balise de fermeture php ?> :

Code : Tout sélectionner

//Uncomment to see SQL queries. Don't use in production
//define('SEE_QUERIES', 1);
//Uncomment only if Guestbook and database are encoded utf-8
define('NAMES_UTF8', 1);
//$database_type = 'MySQL';
$database_type = 'MySQLi';

?>

- Il faudra également modifier le numéro de version dans la base de données, table alex_livre_config pour mettre 5.0.6 pour le champ db_version.

En espérant vraiment que ça fonctionne.
Avec cette version 5.0.6 utf8, j'ai réellement effectué une installation chez Free, mais pas encore de mise à jour 5.0.4 -> 5.0.6.
Ce n'est pas par ce que l'erreur se propage qu'elle devient vérité. Gandhi

10lem
Messages : 25
Inscription : Lun 07 Déc 2015, 16:58

Re: [Résolu] Erreur php7

Messagepar 10lem » Mer 10 Jan 2018, 17:14

Bonjour
Je viens de faire les manips suivantes :

1-J'ai téléchargé les fichiers présent sur mon hébergeur sur mon disque dur en guise de sauvegarde
2-J'ai uploadé les fichiers et dossiers du fichier zip (ci-joint) sauf setup.php
3-Mon fichier agb\config\config_base.php contenait déja le code

Code : Tout sélectionner

//Uncomment to see SQL queries. Don't use in production
//define('SEE_QUERIES', 1);
//Uncomment only if Guestbook and database are encoded utf-8
define('NAMES_UTF8', 1);
//$database_type = 'MySQL';
$database_type = 'MySQLi';
?>
4-Via phpmyadmin j'ai édité la table alex_livre_config pour changer 5.0.4 en 5.0.6 dans le champ db_version

CA MARCHE IMPEC
Plâtres essuyés
:super:
MERCI

vincent3569
Messages : 15
Inscription : Mar 15 Nov 2011, 14:09

Re: [Résolu] Erreur php7

Messagepar vincent3569 » Mar 27 Fév 2018, 17:12

je viens de passer à cette version "non officielle" compatible php 7.2 et tout marche bien (je suis en php 7.0).
merci

PS : le mieux serait encore de publier officiellement cette version 5.0.6, voire de migrer le code sur github pour bénéficier d'une éventuelle aide de la communauté.

wads24
Messages : 19
Inscription : Sam 05 Mai 2007, 17:19
Localisation : Idaho

Re: [Résolu] Erreur php7

Messagepar wads24 » Sam 04 Août 2018, 09:10

Yes, I agree that they should give us an official release for php7.

Thanks you
i speak only English


Revenir vers « Installation & utilisation »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Bing [Bot], Google [Bot] et 17 invités