Project

General

Profile

Anomalie #4348

php 7.4 alpha1

Added by Franck D 4 months ago. Updated about 2 months ago.

Status:
En cours
Priority:
Bas
Assignee:
-
Category:
-
Target version:
Start date:
06/15/2019
Due date:
% Done:

0%

Resolution:
Navigateur:

Description

Hello, Juste pour dire que je commence à faire des tests avec php 7.4 alpha1
Donc, sous easyphp avec windonws 10 (1903)
Apache 2.4.39 x86 - PHP 7.4.0 alpha1
MySQL 5.7.17
MySQL Administration : PhpMyAdmin 4.9.0.1
Firefox 67.0.2
J'ai activer tous les logs pour les tests

J'ai trouver plusieurs problèmes mais je n'ai pas de log...
Exemple,
- Impossible de faire apparaitre le menu "dev", l'unique info que j'ai, c'est : Oups. Une erreur inattendue a empêché de soumettre le formulaire. Vous pouvez essayer à nouveau.
- Impossible de faire une sauvegarde de la bdd

J'ai warning qui apparait quand je souhaite vider le cache:
Warning: time() expects exactly 0 parameters, 1 given in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\test14\ecrire\public\composer.php(93) : eval()'d code on line 33

J'ai un autre warning qui apparait uniquement dans les logs (voir la copie d'ecran 1)

Il y a un deprecated qui apparait partout, y compris au moment de l'installation et cela même si j'ai pas activer les log dans mes_options
Deprecated: Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\test12\ecrire\inc\utils.php on line 2651

php7_4_alpha1.jpg View (352 KB) Franck D , 06/15/2019 06:21 PM

copie d_écran2.jpg View (376 KB) Franck D , 07/08/2019 07:25 PM

Associated revisions

Revision 24320 (diff)
Added by Matthieu Marcillaud 4 months ago

Ticket #4348 : Correction pour PHP 7.4 (Left-associative ternary operator deprecation)

On rend plus lisible l’expression du coup en passant.

Revision 24375 (diff)
Added by Matthieu Marcillaud 2 months ago

Ticket #4348 : Notices/Warning en PHP 7.3+ : éviter un appel à time() avec un argument.

Revision 117613 (diff)
Added by marcimat@rezo.net 2 months ago

Ticket #4348 : Compat PHP 7.4+ Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-'

Revision 24378 (diff)
Added by Matthieu Marcillaud about 2 months ago

Ticket #4348 : Compat PHP 7.4, Trying to access array offset on value of type null.

Revision 117636 (diff)
Added by marcimat@rezo.net about 2 months ago

Tiket #4348 / Compat PHP 7.4 : Array and string offset access syntax with curly braces is deprecated

Revision 24383 (diff)
Added by Matthieu Marcillaud about 2 months ago

Ticket #4348, Compat PHP 7.3 sur count()

Revision 24384 (diff)
Added by Matthieu Marcillaud about 2 months ago

Ticket #4348 : Compat PHP 7.4 (deprecated curly braces array)

Revision 24385 (diff)
Added by Matthieu Marcillaud about 2 months ago

Ticket #4348 : Compat PHP 7.4 (notice).

History

#1 Updated by marcimat 🌈 4 months ago

Pour le time, il y en a au moins un qui vient de prive/objets/info/auteurs.html ;

[(#BOUTON_ACTION{<:info_admin_etre_webmestre:>,[(#URL_ACTION_AUTEUR{etre_webmestre,[(#REM|time)],#SELF})]})]

Cela génère time('')

Un second vient de prive/squelettes/inclure/admin_vider_cache.html ;

#SET{cache_inhib,#CONFIG{cache_inhib}|sinon{0}|>{#REM|time}|oui}

En alternative de #REM|time, peut être #EVAL{time()} ?

#2 Updated by marcimat 🌈 4 months ago

Le warning sur time('') (nombre d’arguments incorrects) apparaît en PHP 7.3.
Mais… je ne vois rien qui indique ce changement dans la doc de PHP.
En tout cas, ça ne génère pas ces warning sur des fonctions utilisateurs.

Si on met `declare(strict_types = 1);`, le Warning devient une `Fatal error: Uncaught ArgumentCountError: time()`,
mais pareil, aucune erreur sur les appels erronés de fonctions utilisateurs…

Je suppose donc que certaines fonctions PHP ont vu leur comportement changer si le nombre d’argument n’est pas correct.

#3 Updated by marcimat 🌈 4 months ago

Alors donc, les warning sur ces fonctions internes PHP semblent arriver avec https://github.com/php/php-src/commit/ff6f41c94 et sur pourquoi on n’en trouve pas dans les fonctions utilisateurs, il y a une petite explication là https://externals.io/message/102553#102560

#4 Updated by Franck D 3 months ago

yop :)
Alors ce soir j'ai refais une nouvelle installation pour faire des tests, ce qui fait que je suis en svn 24321
Donc, juste pour dire que ton commit à fait disparaitre: Deprecated: Unparenthesized `a ? b : c ? d : e`....

Par contre, j'ai toujours le warning concernant le vidage du cache (logique)
Mais j'ai une nouvelle notice de visible:

Après avoir ajouter un dépôt (.../ecrire/?exec=depots), cette notice apparait une fois et disparait si je change de page
Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\test2\plugins-dist\revisions\inc\revisions.php on line 564
Elle apparait également une fois quand je fais une recherche de plugin (voir copie d'écran 2)
Mais également, quand je fais afficher le bouton du menu "Développement" (ecrire/?exec=configurer_preferences) qui fonctionne maintenant :)

Pour les sauvegardes de de la bdd, à première vu, cela vient soit de la version alpha1 de php soit de easyphp (j'ai fait un ticket chez eux) car pas moyen d'activer SQlite... Donc, je referais une série de tests quand cela sera ok

#5 Updated by Frédéric Loyer 3 months ago

Au sujet de

Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\test2\plugins-dist\revisions\inc\revisions.php on line 564

Simplement modifier plugins-dist\revisions\inc\revisions.php ligne 564 et ajouter une paire de parenthèses :

$date = ($sec . substr( $ms,1,4 )) - 20;

au lieu de $date = $sec . substr( $ms,1,4 ) - 20;

#6 Updated by Frédéric Loyer 3 months ago

Pour le warning sur time('') (nombre d’arguments incorrects) qui apparaît en PHP 7.3, c'est dû à ce que la fonction PHP time() ne prend pas de paramètre. EN PHP7.2, les paramètres superflus étaient tolérés et ignorés... plus en PHP7.3.

Cf. https://core.spip.net/issues/4215

Même problème, même proposition de correction.

Un petit grep sur REM|time ne me donne que deux occurrences : celle de ce ticket et celle du 4215.

#7 Updated by marcimat 🌈 2 months ago

cf r24375 pour les time().

#8 Updated by marcimat 🌈 2 months ago

https://zone.spip.net/trac/spip-zone/changeset/117613 pour le cas des révisions.
Et merci Frédéric.

J’imagine qu’on en trouvera d’autres des comme celles-ci.

#9 Updated by b b 2 months ago

  • Status changed from Nouveau to En cours

#10 Updated by Franck D about 2 months ago

Hello :)
Bon alors j'ai refais de nouveau une série de tests avec un nouveau spip [24376] aussi bien avec
easyphp en php 7.4 beta2
et
Laragon en php 7.4 beta4 ( https://windows.php.net/downloads/qa/ php-7.4.0beta4-Win32-vc15-x64.zip)
Puisque que de toute façon, il n'y aura plus de nouvelles modifications mais uniquement des corrections de bug https://wiki.php.net/todo/php74

A savoir que j'ai fait l'activation de tous les logs dans mes options, donc il y a vraiment tout...
Le prefix des tables est "test3"
Je pense que nous avons pas mal de problèmes avec car même concernant les tests unitaire, nous en sommes à 28 succès, 178 échec / 206 total (cela dit, il faut aussi prendre en compte que certain tests sont en échec, car, il faut avoir 3 articles en lignes par exemple)
Pour y voir un peu peu mieux, faudrait au moins faire les récurrentes:
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\plugins-dist\svp\svp_fonctions.php on line 44
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\plugins-dist\safehtml\lib\safehtml\classes\safehtml.php on line 288
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\plugins-dist\safehtml\lib\safehtml\classes\HTMLSax3.php on line 71
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\plugins-dist\safehtml\lib\safehtml\classes\HTMLSax3.php on line 169
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\plugins-dist\safehtml\lib\safehtml\classes\HTMLSax3.php on line 177
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\plugin.php on line 214
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\plugin.php on line 704
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\plugin.php on line 941
Notice: Trying to access array offset on value of type null in C:\laragon\www\test3\ecrire\inc\charsets.php on line 845

Franck

#11 Updated by b b about 2 months ago

Voir r24377 & svp:r117634 pour les Deprecated: Array and string offset access syntax with curly braces.

#12 Updated by Frédéric Loyer about 2 months ago

b b a écrit :

Voir r24377 & svp:r117634 pour les Deprecated: Array and string offset access syntax with curly braces.

La révision remplace quelques {0} par des [0]. Or un fgrep '{0}' me retourne énormément d’occurrences, donc potentiellement d'autres défauts. Lorsque c'est #CACHE{0}, on peut supposer que c'est OK, mais pour le reste, il faudrait voir au cas par cas, et cela nécessite d'enregistrer des fichiers avec des formats différent (AC3, MIDI, etc.) pour provoquer/tester tout problème.

Les fichiers incriminés :
ecrire/inc/filtres_images_lib_mini.php (normalement corrigé par r24377)
ecrire/inc/plugin.php (normalement corrigé par r24377)
ecrire/inc/utils.php
ecrire/inc/xml.php (normalement corrigé par r24377)
ecrire/public/balises.php -> #CACHE{0}
ecrire/public/cacher.php -> #CACHE{0}
plugins-dist/compresseur/lib/csstidy/class.csstidy.php
plugins-dist/medias/lib/getid3/getid3.lib.php
plugins-dist/medias/lib/getid3/module.audio.ac3.php
plugins-dist/medias/lib/getid3/module.audio.bonk.php
plugins-dist/medias/lib/getid3/module.audio.midi.php
plugins-dist/medias/lib/getid3/module.audio.mp3.php
plugins-dist/medias/lib/getid3/module.audio.ac3.php
plugins-dist/medias/lib/getid3/module.audio.voc.php
plugins-dist/medias/lib/getid3/module.audio.wavpack.php
plugins-dist/medias/lib/getid3/module.misc.iso.php
plugins-dist/medias/lib/getid3/module.tag.id3v2.php
plugins-dist/medias/lib/getid3/module.tag.xmp.php
plugins-dist/medias/lib/getid3/write.id3v2.php
plugins-dist/svp/inc/svp_outliller.php
plugins-dist/svp/svp_functions.php
plugins-dist/vertebres/public/vertebrer.php -> #CACHE{0}

NB, On trouve aussi des {1}, {2}, {$i}, {$j}...

#13 Updated by marcimat 🌈 about 2 months ago

Oui, faut chercher uniquement dans les .php je pense. Ensuite, il y a les `#CACHE{0}` et des regexp (pas mal) qui sortent.
Enfin le reste, c’est safeHTML et getid3 (ce dernier ils ont corrigé sur leur github, mais ils n’ont pas encore sorti de nouvelle version derrière).
Je n’ai pas vu d’autres cas en survolant, mais il en existe probablement

#14 Updated by marcimat 🌈 about 2 months ago

Oui, et plein de $string{$i} dans csstidy aussi

#15 Updated by marcimat 🌈 about 2 months ago

Bien, j’ai corrigé pour safehtml (mais il faudrait remplacer par htmlpurifier)
J’ai proposé une PR sur cssTidy pour notre ami cerdic :)

#16 Updated by Franck D about 2 months ago

C'est déjà beaucoup plus lisible :)
Il y a pratiquement tout, j'ai pas fait l'ajout de csstidy car il y a une pr en cour, j'ai des log avec simplelog, mais comme il y a des chances que cela soit la même choses qu'avec les tests, je pense que le mieux est de faire par étape...
J'ai un warning si je change l'auteur d'un article
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\prive\objets\liste\auteurs_fonctions.php on line 117

Alors avec les tests unitaires, je trouves aussi ( a voir si ce ne sont pas "juste" les tests) :
introduction.html: erreur est rouge, mais je comprends pas pourquoi, j'ai un article avec un chapeau et article bidon, donc, il devrait être vert

cache_sessions.php: erreur (j'ai pas plus d'info)
Echec Assertion inclure/A_session_wo assert_session=1 0.07s

url_to_ascii.php: erreur
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 426
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 440
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 867
Deprecated: Array and string offset access syntax with curly braces is deprecated in C:\laragon\www\test3\ecrire\inc\idna_convert.class.php on line 998

valider_url_distante.php: erreur
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

extraire_attribut.php: erreur
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

extraire_balise.php: erreur
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

form_hidden_arbo.php: erreur
Notice: Trying to access array offset on value of type bool in C:\laragon\www\test3\ecrire\req\mysql.php on line 246
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

form_hidden_libres.php: erreur et form_hidden_propres.php: erreur et form_hidden_propres_qs.php: erreur
Notice: Trying to access array offset on value of type bool in C:\laragon\www\test3\ecrire\req\mysql.php on line 246

spip_htmlentities.php: erreur et spip_htmlspecialchars.php: erreur et filtre_text_csv_dist.php: erreur
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

00_sql_create_drop_view.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113
Lecture des structures de table en echec

10_sql_insert_select.php: erreur
Champ maj sur update
Le champ 'maj' () n'a vraisemblablement pas recu de timestamp à l'insertion
Le champ 'maj' () n'a vraisemblablement pas été mis a jour lors de l'update
Le champ 'maj' () n'a vraisemblablement pas été mis a jour lors de l'updateq
Selections
sql_multi [en] mal rendu : retour : Un debut de chaine : Vinassy, et [la fin], attendu :
sql_multi [de] mal rendu : retour : Un debut de chaine : Vinasse, et [la fin], attendu :
Selections multi tables
selection sur 2 tables avec where en echec : attendu 3 reponses, présentes :

30_sql_alter.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Notice: Trying to access array offset on value of type null in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Alter : drop column
sql_alter rate DROP COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP sans COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate CHANGE (plus de table ou sql_showtable en erreur?)
sql_alter rate MODIFY varchar en text :
sql_alter rate ADD COLUMN houba (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN hop AFTER (plus de table ou sql_showtable en erreur?)
Alter : renomme table
sql_alter rate RENAME table
Alter : index
sql_alter rate DROP INDEX sons (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX (wouaf) (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX pluie (grrrr) (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP INDEX pluie (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX dring (grrrr, wouaf) (plus de table ou sql_showtable en erreur?)
Alter : primary key
sql_alter rate DROP PRIMARY KEY (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD PRIMARY KEY (plus de table)
Alter : multiples
sql_alter rate DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c) (plus de table ou sql_showtable en erreur?)

propre.php: erreur
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

tw_propre.php: erreur et tw_propre_modeles_block.php: erreur et tw_propre_modeles_inline.php: erreur et tw_propre_typo.php: erreur
Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in C:\laragon\www\test3\tests\test.inc on line 113

barre_outil_markitup.php: erreur
Fail: Test de la classe Barre_outils -> testCreerJson -> Pattern [,\[{"name":",] not detected in [String: barre_outils_spip = { "nameSpace": "spip", "previewAutoRefresh": false, "markupSet": [ { "name": "Transformer en {{{intertitre}}}", "key": "H", ...] at [C:\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 267]
Fail: Test de la classe Barre_outils -> testBoutonsDUneLangue -> Pattern [,"lang":\[,] not detected in [String: barre_outils_spip = { "nameSpace": "spip", "previewAutoRefresh": false, "markupSet": [ { "name": "test apparaissant si langue est le francais", "className...] at [C:\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 301]
Fail: Test de la classe Barre_outils -> testFonctionsJavacriptDansParametreNeDoitPasEtreEntreguillemetsDansJson -> Pattern [/:function\(/] not detected in [String: barre_outils_spip = { "nameSpace": "spip", "previewAutoRefresh": false, "markupSet": [ { "name": "Transformer en {{{intertitre}}}", "key": "H", ...] at [C:\laragon\www\test3\plugins-dist\porte_plume\tests\barre_outil_markitup.php line 318]
BOUM !!! - Passes: 68, Failures: 3, Exceptions: 0, Non Applicable: 0

#17 Updated by Franck D about 2 months ago

Super bonne nouvelle, il n'y a presque plus de différence concernant les tests unitaire en php 7.4 et 7.1 / 7.2 / 7.3
22 erreurs contre 19 pour les autres :)
Installation en Mysql

Je vais mettre uniquement ceux donc j'ai un message de php, pour les autres, je pense que le mieux, c'est de voir plus tard
session.html: erreur
Warning: Illegal string offset 'id_auteur' in C:\laragon\www\test3\ecrire\public\evaluer_page.php(51) : eval()'d code on line 6
Notice: Uninitialized string offset: 0 in C:\laragon\www\test3\ecrire\public\evaluer_page.php(51) : eval()'d code on line 6
Warning: Illegal string offset 'nom' in C:\laragon\www\test3\ecrire\public\evaluer_page.php(51) : eval()'d code on line 8
Notice: Uninitialized string offset: 0 in C:\laragon\www\test3\ecrire\public\evaluer_page.php(51) : eval()'d code on line 8

extraire_attribut.php: erreur
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845

balise_session.php: erreur
Exception: Test_balise_session_set -> testSessionSet -> Unexpected PHP Error [session_start(): Cannot start session when headers already sent] severity [2] in [C:\laragon\www\test3\ecrire\inc\session.php line 706]
BOUM !!! - Passes: 11, Failures: 0, Exceptions: 1, Non Applicable: 0
Warning: session_start(): Cannot start session when headers already sent in C:\laragon\www\test3\ecrire\inc\session.php on line 706

autoriser.php: erreur
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Illegal string offset 'id_auteur'] severity [2] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 44]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Uninitialized string offset: 0] severity [8] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 44]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Illegal string offset 'id_auteur'] severity [2] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 49]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Uninitialized string offset: 0] severity [8] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 49]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Illegal string offset 'id_auteur'] severity [2] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 44]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Uninitialized string offset: 0] severity [8] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 44]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Illegal string offset 'id_auteur'] severity [2] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 50]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [Uninitialized string offset: 0] severity [8] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 50]
Exception: Test_balise_autoriser -> testAutoriserVerifAuteur -> Unexpected PHP Error [A non-numeric value encountered] severity [2] in [C:\laragon\www\test3\tests\unit\simpletest\dist\balises\autoriser.php line 50]
BOUM !!! - Passes: 12, Failures: 0, Exceptions: 9, Non Applicable: 0

00_sql_create_drop_view.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Lecture des structures de table en echec

10_sql_insert_select.php: erreur
Champ maj sur update
Le champ 'maj' () n'a vraisemblablement pas recu de timestamp à l'insertion
Le champ 'maj' () n'a vraisemblablement pas été mis a jour lors de l'update
Le champ 'maj' () n'a vraisemblablement pas été mis a jour lors de l'updateq
Selections multi tables
selection sur 2 tables avec where en echec : attendu 3 reponses, présentes :

30_sql_alter.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Notice: Trying to access array offset on value of type null in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Alter : drop column
sql_alter rate DROP COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP sans COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate CHANGE (plus de table ou sql_showtable en erreur?)
sql_alter rate MODIFY varchar en text :
sql_alter rate ADD COLUMN houba (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN hop AFTER (plus de table ou sql_showtable en erreur?)

Alter : renomme table
sql_alter rate RENAME table

Alter : index
sql_alter rate DROP INDEX sons (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX (wouaf) (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX pluie (grrrr) (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP INDEX pluie (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX dring (grrrr, wouaf) (plus de table ou sql_showtable en erreur?)
Alter : primary key
sql_alter rate DROP PRIMARY KEY (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD PRIMARY KEY (plus de table)
Alter : multiples
sql_alter rate DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c) (plus de table ou sql_showtable en erreur?)

#18 Updated by Franck D about 2 months ago

Bon, j'ai refais des tests car ma version n'était pas à jour...
Donc, maintenant, cela donne uniquement 18 echecs en php 7.4 avec laragon , prefix des table "test3" installation en Mysql (16 en php 7.3 chez ovh)

Concernant les erreur avec des messages php, j'ai:
extraire_attribut.php: erreur
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845
Warning: preg_match(): Empty regular expression in C:\laragon\www\test3\ecrire\inc\filtres.php on line 1845

00_sql_create_drop_view.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 36
Notice: Undefined index: key in C:\laragon\www\test3\tests\unit\sql\00_sql_create_drop_view.php on line 37
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Warning: count(): Parameter must be an array or an object that implements Countable in C:\laragon\www\test3\tests\test.inc on line 83
Lecture des structures de table en echec

➠ 30_sql_alter.php: erreur
Notice: Undefined index: field in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Notice: Trying to access array offset on value of type null in C:\laragon\www\test3\tests\unit\sql\30_sql_alter.php on line 54
Alter : drop column
sql_alter rate DROP COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP sans COLUMN (plus de table ou sql_showtable en erreur?)
sql_alter rate CHANGE (plus de table ou sql_showtable en erreur?)
sql_alter rate MODIFY varchar en text :
sql_alter rate ADD COLUMN houba (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN hop AFTER (plus de table ou sql_showtable en erreur?)
Alter : renomme table
sql_alter rate RENAME table
Alter : index
sql_alter rate DROP INDEX sons (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX (wouaf) (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX pluie (grrrr) (plus de table ou sql_showtable en erreur?)
sql_alter rate DROP INDEX pluie (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD INDEX dring (grrrr, wouaf) (plus de table ou sql_showtable en erreur?)
Alter : primary key
sql_alter rate DROP PRIMARY KEY (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD PRIMARY KEY (plus de table)
Alter : multiples
sql_alter rate DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr (plus de table ou sql_showtable en erreur?)
sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c) (plus de table ou sql_showtable en erreur?)
0.24s

compacte_css.php: erreur
La Pr est en cour concernant csstidy

Simple log, m'indique 3 erreurs dans
Fichier : C :\laragon\www\test3\ecrire\base\connect_sql.php
Ligne : 170
Fonction : spip_sql_erreur()
Erreur 1054 de mysql : Unknown column ’veraer’ in ’field list’

in C :\laragon\www\test3\ecrire\action\editer_liens.php L860 [sql_updateq(),lien_set(),objet_traiter_liaisons(),objet_qualifier_liens(),tester_fun()]
UPDATE `spip`.test3_auteurs_liens
SET veraer=’oui’
WHERE id_auteur=1
AND objet=’zorglub’
AND id_objet=1

Fichier : C :\laragon\www\test3\ecrire\base\connect_sql.php
Ligne : 170
Fonction : spip_sql_erreur()
Erreur 1054 de mysql : Unknown column ’spip_test_milou.id_tintin’ in ’where clause’

in C :\laragon\www\test3\tests\unit\sql\10_sql_insert_select.php L179 [sql_select(),test_selections_entre_table()]
SELECT `spip`.test3_test_tintin.id_tintin, `spip`.test3_test_milou.id_milou
FROM `spip`.test3_test_tintin, `spip`.test3_test_milou
WHERE spip_test_milou.id_tintin=spip_test_tintin.id_tintin

Fichier : C :\laragon\www\test3\ecrire\base\connect_sql.php
Ligne : 170
Fonction : spip_sql_erreur()
Erreur 1146 de mysql : Table ’spip.test3_test_toto’ doesn’t exist

in C :\laragon\www\test3\tests\unit\sql\40_sql_divers.php L98 [sql_select(),test_func_error()]
SELECT *
FROM `spip`.test3_test_toto

A savoir que entre php 7.3 chez ovh et 7.4 avec laragon, j'ai comme différence en plus en 7.4:
➠ extraire_attribut.php: erreur
➠ extraire_balise.php: erreur
➠ compacte_css.php: erreur

Et j'ai une erreur qui n'est plus présente en php 7.4 mais qui est là en 7.3
➠ couleur_extraire.php: erreur

#19 Updated by marcimat 🌈 about 2 months ago

Francky : c’est pas la peine d’indiquer toutes les erreurs relatives à sql* qui proviennent toutes du fait qu’il n’arrive pas à créer les tables SQL nécessaires aux tests. Et du coup, il faudrait plutôt comprendre le pourquoi de cette erreur de création de table (peut être une indication dans tmp/log/mysql).

#20 Updated by Franck D about 2 months ago

C'est ce que j'ai fait car je m'en doutais, tu n'as pas prit le temps de lire ce que j'avais écris plus haut :p
Bon faut dire que cela fait un gros truc quand même... :(

A savoir que cela fait pareil en php 7.3 chez ovh, tu peux le voir, j'ai activer simplelog et refait une installation toute neuve (tu connais tes identifiants ) Mais je ne suis pas sûr que cela t'aidera :(

Also available in: Atom PDF