Maison > développement back-end > Problème PHP > Que dois-je faire si ecshop signale une erreur sous php5.4 ?

Que dois-je faire si ecshop signale une erreur sous php5.4 ?

藏色散人
Libérer: 2023-03-08 11:00:02
original
2487 Les gens l'ont consulté

Solution à l'erreur signalée par ecshop sous php5.4 : 1. Ouvrez le fichier "cls_template" et modifiez "$tag_sel=array_shift(explode(' ',$tag));" 2. Modifiez " static "; 3. Modifiez le fichier cls_captcha.

Que dois-je faire si ecshop signale une erreur sous php5.4 ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 5.4, ordinateur Dell G3.

Une collection de problèmes d'erreur du site Web ECSHOP dans l'environnement PHP5.4

Une erreur s'est produite lors de l'exécution de la page d'accueil d'Ecshop :

Les mots suivants sont apparus :

  Strict Standards: Only variables should be passed by reference in D:\**\includes\cls_template.php on line 406 第406行:$tag_sel = array_shift(explode(' ', $tag));
Copier après la connexion

Solution 1 Le problème avec les versions 5.3 5.4 et supérieures doit également être lié à la configuration. Tant que la ligne 406 est divisée en deux phrases, il n'y aura pas de problème

  $tag_sel = array_shift(explode(' ', $tag));
Copier après la connexion

. Remplacer par :

 $tag_arr = explode(' ', $tag);
  $tag_sel = array_shift($tag_arr);
Copier après la connexion

( Expérimenté, absolument réalisable) Étant donné que les paramètres de array_shift sont passés par référence, seules des variables spécifiques peuvent être transmises par défaut dans 5.3 et ci-dessus et ne peuvent pas être transmises via les valeurs de retour de la fonction. Solution : Pensez à vider le cache après modification.

[Apprentissage recommandé : "Tutoriel vidéo PHP"]

2. Comprend/lib_base.php apparaît lors de l'installation d'ECshop dans un environnement php5.4 Solution pour la ligne 346.

Remplacez la fonction gd_version() dans cls_image.php par la fonction statique gd_version().

3 Le code de vérification des antécédents du site Web n'affiche pas les normes strictes PHP : redéfinition du constructeur déjà défini pour la classe captcha dans D:web322includescls_captcha.php à la ligne 119

Ouvrir include/cls_captcha.php

Trouvez le code suivant

   function __construct($folder = '', $width = 145, $height = 20)
    {
        $this->captcha($folder, $width, $height);
    }
Copier après la connexion

et déplacez-le au dessus de

function captcha($folder = '', $width = 145, $height = 20)
Copier après la connexion

.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal