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.
Ç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 »
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.
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 »
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.
> 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 »
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...
> 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 »
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".