WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
[RESOLU]error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: nickal (---.24.nat.tls1b-cgn02.myaisfibre.com)
Date: 06 January 2021 à 05:45

Bonjour,

J'ai installe Wamp, derniere version, sur Windows 10. Tout fonctionnait bien et je me suis apercu que mon code avait quelques fonctions Deprecated.

Puis j'ai ajoute Eclipse, connecter le tout avec xDebug. Et depuis, les erreurs de type Deprecated ne s'affichent qu'une fois, au demarrage du serveur. Apres, elles ne sont plus affichees malgre les settings de d'affichage E_ALL et autre.

Dans le log du serveur, l'erreur n'est stockee qu'une fois:
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Paginator has a deprecated constructor in C:\wamp64\www\ParklandLite-Committee\libraries\PHP_Functions\pagination.php on line 3

Il semblerait qu'elle est ignoree ensuite, comme si le serveur la gardait en cache et deja traitee.

Quelqu'un saurait d'ou cela pas venir?
Merci
Nico.



Modifie 1 fois. Derniere modification le 06/01/2021 à 14:51 par Otomatic.

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: Otomatic (Modérateur)
Date: 06 January 2021 à 08:43

Bonjour,

Ça peut venir de xDebug ou d'Eclispe, vu que c'est arrivé après.

Éventuellement mettre à jour avec xDebug 3.0.2

Xdebug 3 comporte des changements majeurs de fonctionnalité et de configuration par rapport à Xdebug 2.
Le nouveau paramètre de configuration PHP xdebug.mode est le principal moyen d'activer les fonctionnalités.
Il est accessible via Clic-Gauche icône Wampmanager -> PHP -> Configuration PHP -> xdebug.mode
xDebug 3 announcement
xDebug 3 documentation

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: nickal (---.24.nat.tls1b-cgn02.myaisfibre.com)
Date: 06 January 2021 à 09:27

Bonjour,

Merci pour la response. Alors, entre temps, j'ai desinstalle Wamp, et tout re-installe, par contre, je n'ai pas remis Xdebug (c'etait la version 3) ni refais tourner mon projet sur eclipse.

Pour reproduire le probleme, je stoppe les services sous windows (windows 10), ensuite je les relance avec wampmanager. J'ouvre mon index.php sous firefox:
==> le warning s'affiche

Je refraichi la page, ferme firefox, etc... je change de browser, le warning ne s'affiche plus et n'est plus log dans php.log.

Donc je seche... :-)

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: Otomatic (Modérateur)
Date: 06 January 2021 à 09:53

Bonjour,

Vous avez pris un marteau-pilon pour écraser une mouche !

xDebug, quelles que soient les versions, se désactive en trois clics !

Clic-Gauche -> PHP -> Extensions PHP -> php_xdebug xxx pour le décocher

Et, pour la version 3 on peut faire, à la place :
Clic-Gauche -> PHP -> Configuration PHP -> xdebug.mode -> off

Il se peut que ce soit votre projet qui gère les erreurs parce que, par défaut, si on passe 50 fois sur une ligne générant une erreur, ladite erreur sera affichée 50 fois.

Le mieux ne serait-il pas de corriger vos erreurs de code.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: nickal (---.24.nat.tls1b-cgn02.myaisfibre.com)
Date: 06 January 2021 à 10:47

Eeeeh l'objectif est bien de corriger les erreurs, mais si je pouvais eviter d'avoir a redemarrer le serveur entre chaque tests pour verifier que tout est OK, c'est plus facile.


Disons qu'a force de trifouiller dans les settings, le serveur ne redemarrait plus via WampManager donc c'etait mieux de repartir de quelque chose de propre.

Je vais continuer a chercher.
Merci encore.

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: Otomatic (Modérateur)
Date: 06 January 2021 à 11:41

Bonjour,

> mais si je pouvais eviter d'avoir a redemarrer le serveur entre chaque tests pour
> verifier que tout est OK, c'est plus facile.

Il suffit simplement d'effectuer les modifications du code de la page puis de la recharger en vidant le cache du navigateur par Ctrl-F5.

Même chose si vous changez de version PHP ou de configuration PHP.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: nickal (---.24.nat.tls1b-cgn02.myaisfibre.com)
Date: 06 January 2021 à 13:19

Alors, merci pour la direction, je commence a comprendre pourquoi j'ai peut-etre eu l'impression que ca fonctionnait avant et pas maintenant.

Cependant, ayant les flags:

declare(strict_types=1);
error_reporting(E_ALL);
ini_set('display_errors', '1');


Le serveur Apache avec le level a "notice" au lieu de "warn", je m'attends a ce que les "notices" soient affichees tout le temps, et non pas si je fais une modification dans un des fichiers.

J'ai fait un test avec 2 de mes fichiers:
- index.php
- pagination.php

Les deux contiennent les instructions au-dessus. De facon alternative, je les mets en commentaire ou pas dans pagination.php, meme sans faire ctrl+f5, ca fonctionne. La notive s'affiche, mais toujours au premier appel.


Donc, il y a un mecanisme de cache que je ne connais visiblement pas, et ma question est: comment puis-je forcer PHP a re-compiler et produire une page html fraiche a chaque fois... je vais chercher un peu sur ca...

Merci encore pour votre aide.

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: Otomatic (Modérateur)
Date: 06 January 2021 à 14:05

Bonjour,

> error_reporting(E_ALL);
> ini_set('display_errors', '1');
Toutes les versions PHP de Wampserver ont ces paramètres par défaut :
Voir Clic-Gauche -> PHP -> Configuration PHP

> declare(strict_types=1);
Joue uniquement sur les correspondances de typage des variables :
Voir [www.php.net]

> forcer PHP a re-compiler et produire une page html fraiche a chaque fois
Recharger la page avec Ctrl-F5 sauf si votre code gère son propre cache.

------------------------------------------------------------------------------------------------------------
Wampserver 3.3.0 32 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40 - MariaDB 10.5.13/10.6.5
Wampserver 3.3.0 64 bit - Apache 2.4.54.2 - PHP 8.2.4…7.4.33 - MySQL 5.7.40/8.0.31 - MariaDB 10.5.17/10.10.2
PhPMyadmin 5.2.1 - MysqlDumper 1.24.5
on W10 Pro 64 bit
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons
« Ce n'est pas parce qu'ils sont nombreux à avoir tort, qu'ils ont forcément raison. Coluche »
« It's not because they are many to be wrong, they are necessarily right. Coluche »

Options: Répondre•Citer ce Message
Re: error du type DEPRECATED ne s'affichent qu'une fois
Envoyé par: nickal (---.24.nat.tls1b-cgn02.myaisfibre.com)
Date: 06 January 2021 à 14:34

Allez, j'ai trouve :-)

Option opcache.enable a mettre a 0 dans PHP.ini (du moins, celui qui est utilise pour apache).

Et voili voilou. Donc j'ai ouvert ma question de facon incorrecte, je pensais que ca fonctionnais, ca n'a sans doute jamais fonctionne mais comme je touchais le code, je ne m'en suis pas vraiment apercu, apres j'ai mis le debugger, eclipse, etc...

J'ai trouve la reponse dans un autre forum en ajustant petit a petit mes requetes sur google en francais et en anglais.

ouf!

Merci encore pour votre aide precieuse, inutile de preciser que je debute dans l'environnement, tout le monde s'en est apercu :-). Je ne sais pas comment flagger la question en "Resolu".

Bonne journee,
Nico

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP