Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 28/08/2018, à 17:49

bruno

Re : [résolu] Forcer Apache2 à utiliser php7.2

Claude LENDREVIE a écrit :

Message d'erreur : Error: [] operator not supported for strings[
ps: tous les scripts -et ils sont nombreux- utilisant les signes "crochets ouvrant ou fermant" font planter le site

Premier résultat de recherche avec ton message d'erreur :
https://stackoverflow.com/questions/587 … in#5879729

CQFD : tes scripts sont écrits avec les pieds.

#27 Le 28/08/2018, à 17:55

Claude LENDREVIE

Re : [résolu] Forcer Apache2 à utiliser php7.2

Après avoir installé sur un pc neuf Ubuntu 18.04 lts et Lamp -donc php7.2- j'avais rencontré exactement ce problème sur mon site.
C'est uniquement pour cette raison que j'avais ensuite installé php7.0, version qui ne déclenche pas ce type d'erreur.

Suite à la mise à jour de php7.2 pendant 3 jours de suite, je pensais maintenant tout était réglé de ce côté. D'où ce retour vers php7.2. Mais ça persiste toujours !
Je suis persuadé qu'il me manque un module spécifique pour php. Mais lequel ? Tu ne sais pas me conseiller sur ce point précis ?
Sinon, nombreux seraient les utilisateurs plantés avec php7.2.

Un exemple de script contenant les caractères "crochets" : index.php (dans le répertoire du template).
Mais je n'ai pas d'autre message plus explicite, car le plantage se fait immédiatement au lancement du site.

Infernal ce pépin, car il me bloque tout développement. Et je suis certain que si j'étais en mode production ... il n'y aurait ce plantage !

Hors ligne

#28 Le 28/08/2018, à 17:59

krodelabestiole

Re : [résolu] Forcer Apache2 à utiliser php7.2

on ne peut pas t'aider sans avoir le code et le message d'erreur complet sous les yeux.

En ligne

#29 Le 28/08/2018, à 18:01

krodelabestiole

Re : [résolu] Forcer Apache2 à utiliser php7.2

et contrairement à ce dont tu es persuadé, ce ne sont pas des modules qui prennent en charge les crochets dans le code PHP. ce sont des éléments de syntaxe parfaitement natifs au langage, généralement liés à l'utilisation de tableaux.

un module manquant ça retournerait en erreur l'absence d'une fonction par ex.

Dernière modification par krodelabestiole (Le 28/08/2018, à 18:04)

En ligne

#30 Le 28/08/2018, à 18:23

bruno

Re : [résolu] Forcer Apache2 à utiliser php7.2

Et comme cela a déjà été dit tu prend le problème à l'envers.
Le problème ne vient pas de PHP 7.2 mais de ton CMS qui n'est pas compatible avec PHP 7.2. Si ton CMS exige PHP 7.0 il faut utiliser Ubuntu 16.04 (ou une autre distribution qui fournit la version 7.0)
C'est aux auteurs du code de se mettre en conformité avec les évolution du langage PHP. S'ils ne le font pas leur projet est voué à disparaître.

#31 Le 28/08/2018, à 18:35

Claude LENDREVIE

Re : [résolu] Forcer Apache2 à utiliser php7.2

bruno a écrit :

Et comme cela a déjà été dit tu prend le problème à l'envers.
Le problème ne vient pas de PHP 7.2 mais de ton CMS qui n'est pas compatible avec PHP 7.2. Si ton CMS exige PHP 7.0 il faut utiliser Ubuntu 16.04 (ou une autre distribution qui fournit la version 7.0)
C'est aux auteurs du code de se mettre en conformité avec les évolution du langage PHP. S'ils ne le font pas leur projet est voué à disparaître.

Totalement excessif Bruno. Si la version actuelle de Joomla était incompatible avec php7.2, ça se saurait et nombreux seraient les utilisateurs à signaler ce type de problème.
Or ce n’est pas le cas.

Je persiste à penser qu’il me manque un élément dans ma bibliothèque de php.

Hors ligne

#32 Le 28/08/2018, à 19:57

bruno

Re : [résolu] Forcer Apache2 à utiliser php7.2

Quelle version de Joomla ? D'après leur doc il faut au minimum la version 3.5 pour être compatible php 7.0 et rien n'est précisé pour les versions 7.1, 7.2

Et quelles extensions, quels thèmes utilisés ? Sont-ils compatibles avec php 7 ?

Dernière modification par bruno (Le 28/08/2018, à 19:59)

#33 Le 28/08/2018, à 21:40

Claude LENDREVIE

Re : [résolu] Forcer Apache2 à utiliser php7.2

bruno a écrit :

Quelle version de Joomla ? D'après leur doc il faut au minimum la version 3.5 pour être compatible php 7.0 et rien n'est précisé pour les versions 7.1, 7.2

Et quelles extensions, quels thèmes utilisés ? Sont-ils compatibles avec php 7 ?

J’utilise une version très récente de Joomla, la 3.8.11 (la 3.8.12 est sortie aujourd’hui).
Toutes mes extensions sont compatibles avec les versions 3 de Joomla.
Quant à leur compatibilité avec php7.2, il est bien difficile d’y répondre.

Mais tous les hébergeurs de renom -ex. O2switch- fonctionnent avec php7.2. Il me semble que cette remarque est importante.

Dernière modification par Claude LENDREVIE (Le 28/08/2018, à 21:41)

Hors ligne

#34 Le 28/08/2018, à 23:08

krodelabestiole

Re : [résolu] Forcer Apache2 à utiliser php7.2

je sais pas quoi te dire non plus.

si au moins on avait l'erreur complète avec nom du fichier sur lequel elle est rencontrée, on pourrait savoir si c'est un plugin, ou un thème, et duquel il s'agit, c'est pas faute de te demander constamment des détails...

pour le reste tu peux essayer de lancer ce script (tu le colles par ex. dans un fichier test.php) :

<?php

$array = ["salut, ça marche"];
echo $array[0];

?>

si tu ne vois pas "salut, ça marche", c'est que ton PHP a effectivement un gros problème.

sinon ça confirme simplement qu'au moins une partie de ton application est développée avec les pieds... (et c'est pas simplement une question de PHP 7.2, le problème c'est qu'on essaye d'y déclarer un élément de tableau sur une chaîne de caractère, ce qui a pu passer sur certaines versions, mais qui reste une pratique très sale et qui peut poser problème, comme on constate ici).

Dernière modification par krodelabestiole (Le 28/08/2018, à 23:08)

En ligne

#35 Le 29/08/2018, à 04:15

Claude LENDREVIE

Re : [résolu] Forcer Apache2 à utiliser php7.2

krodelabestiole a écrit :

je sais pas quoi te dire non plus.

si au moins on avait l'erreur complète avec nom du fichier sur lequel elle est rencontrée, on pourrait savoir si c'est un plugin, ou un thème, et duquel il s'agit, c'est pas faute de te demander constamment des détails...

pour le reste tu peux essayer de lancer ce script (tu le colles par ex. dans un fichier test.php) :

<?php

$array = ["salut, ça marche"];
echo $array[0];

?>

si tu ne vois pas "salut, ça marche", c'est que ton PHP a effectivement un gros problème.

sinon ça confirme simplement qu'au moins une partie de ton application est développée avec les pieds... (et c'est pas simplement une question de PHP 7.2, le problème c'est qu'on essaye d'y déclarer un élément de tableau sur une chaîne de caractère, ce qui a pu passer sur certaines versions, mais qui reste une pratique très sale et qui peut poser problème, comme on constate ici).

Merci encore pour ton aide. Je suis le 1er à déplorer tout comme toi de ne pas avoir plus d'infos explicites sur mon problème de blocage de site. Mais à force de se creuser nos méninges, on avance :
1. le test proposé marche parfaitement sur mon pc : ce qui confirme que j'ai une extension à problème,
2. et puisque le blocage est immédiat dès que je lance l'exécution du site : c'est que l'on est en droit d'incriminer le template utilisé.
Je vais donc pousser mes recherches de ce côté.

ps : avec ces pépins, je n'en dors plus : je me suis encore une fois levé dès 3h du matin ! Et tout ceci, pour la finalisation d'un site totalement gratuit ...

Hors ligne

#36 Le 29/08/2018, à 05:05

krodelabestiole

Re : [résolu] Forcer Apache2 à utiliser php7.2

Claude LENDREVIE a écrit :

1. le test proposé marche parfaitement sur mon pc : ce qui confirme que j'ai une extension à problème,

au contraire.

pour en savoir plus sur ton erreur, si l'affichage sur la page manque de détail, consulte les logs d'erreur.

En ligne

#37 Le 29/08/2018, à 08:36

bruno

Re : [résolu] Forcer Apache2 à utiliser php7.2

Claude LENDREVIE a écrit :

Un exemple de script contenant les caractères "crochets" : index.php (dans le répertoire du template).
Mais je n'ai pas d'autre message plus explicite, car le plantage se fait immédiatement au lancement du site.

Ce qui laisse supposer que le problème vient du thème utilisé. Il serait intéressant de voir le contenu de ce fichier.

Quant aux messages d'erreurs il faut aller les chercher dans les logs d'Apache juste après avoir essayé d'afficher la page en question.

Dernière modification par bruno (Le 29/08/2018, à 08:38)

#38 Le 29/08/2018, à 11:06

Claude LENDREVIE

Re : [résolu] Forcer Apache2 à utiliser php7.2

Et voilà, j'ai enfin trouvé l'objet de mes soucis : le template que j'utilise n'est pas compatible avec php7.2.
J'ai fait de longues recherches, et notamment sur le site du concepteur (cf. crosstec). Ils en sont conscients, et donnent des pistes de correction. Mais aucune n'a porté ses fruits.
Je suis donc en train de tester un nouveau template beaucoup plus récent : je n'ai plus de problème avec celui-ci. Mais quel travail pour remettre en ordre l'ensemble du site !

Merci ici à tous ceux qui m'ont accordé du temps et distillé de précieux conseils.

Hors ligne