Warning avec php 7.4
Forum rules
Règles du forum
Règles du forum
-
- Joomla! Intern
- Posts: 72
- Joined: Thu Feb 05, 2009 12:11 am
- Contact:
Warning avec php 7.4
Bonjour à tous,
J'ai fait une copie de mon site en local pour pouvoir tester la migration vers Joomla 4.
Donc je suis en version 3.10.4, sur une version de php 5.6.40 il n'y a pas de problème mais si je passe sur un serveur php 7.4.26 j'ai plein de message de warning :
Warning: Array to string conversion in C:\wamp64\www\joomla\plugins\system\modals\helpers\link.php on line 191
Je ne comprends pas d'où cela peut venir...
Il y a une extension particulière à activer sous php 7.4 ?
Malgré mes recherches je n'ai pas trouvé de réponse.
J'ai fait une copie de mon site en local pour pouvoir tester la migration vers Joomla 4.
Donc je suis en version 3.10.4, sur une version de php 5.6.40 il n'y a pas de problème mais si je passe sur un serveur php 7.4.26 j'ai plein de message de warning :
Warning: Array to string conversion in C:\wamp64\www\joomla\plugins\system\modals\helpers\link.php on line 191
Je ne comprends pas d'où cela peut venir...
Il y a une extension particulière à activer sous php 7.4 ?
Malgré mes recherches je n'ai pas trouvé de réponse.
My component : http://www.steevo.fr/en
- Per Yngve Berg
- Joomla! Master
- Posts: 30945
- Joined: Mon Oct 27, 2008 9:27 pm
- Location: Romerike, Norway
Re: Warning avec php 7.4
Enable Debug.
Trouver le trace de la pile.
C'est une extension utiliser le modal, qui ne compatible pas avec php 7.4. Votre modèle peut tetre.
Trouver le trace de la pile.
C'est une extension utiliser le modal, qui ne compatible pas avec php 7.4. Votre modèle peut tetre.
-
- Joomla! Intern
- Posts: 72
- Joined: Thu Feb 05, 2009 12:11 am
- Contact:
Re: Warning avec php 7.4
Merci de ta réponse, et désolé pour le retard de la mienne mais je n'avais pas reçu le mail d'alerte.
Je ne vois pas quelle extension ferait ça. Même en changeant de template, j'ai toujours les messages.
Et je ne vois rien de particulier dans la console de debugage joomla.
Voici un exemple de message affiché
Je ne vois pas quelle extension ferait ça. Même en changeant de template, j'ai toujours les messages.
Et je ne vois rien de particulier dans la console de debugage joomla.
Voici un exemple de message affiché
Code: Select all
( ! ) Notice: Array to string conversion in C:\wamp64\www\joomla\plugins\system\modals\helpers\link.php on line 191
Call Stack
# Time Memory Function Location
1 0.0013 363272 {main}( ) ...\index.php:0
2 0.1591 1111632 Joomla\CMS\Application\CMSApplication->execute( ) ...\index.php:49
3 3.9395 11397472 Joomla\CMS\Application\SiteApplication->render( ) ...\CMSApplication.php:231
4 3.9404 11397520 Joomla\CMS\Application\CMSApplication->render( ) ...\SiteApplication.php:778
5 10.2442 17797200 Joomla\CMS\Application\BaseApplication->triggerEvent( $event = 'onAfterRender', $args = ??? ) ...\CMSApplication.php:1146
6 10.2442 17797200 JEventDispatcher->trigger( $event = 'onAfterRender', $args = NULL ) ...\BaseApplication.php:108
7 10.2448 17799488 JEvent->update( $args = [] ) ...\dispatcher.php:160
8 10.2448 17799488 plgSystemModals->onAfterRender( ) ...\event.php:70
9 10.2448 17799488 plgSystemModalsHelper->onAfterRender( ) ...\modals.php:60
10 10.2501 17836520 plgSystemModalsHelper->replace( $string = '<body class="logo-type-custom headerstyle-dark menustyle-light footerstyle-dark font-family-helvetica font-size-is-large menu-type-dropdownmenu layout-mode-responsive col12">\r\n <header id="rt-top-surround">\r\n\t\t\t\t<div id="rt-top" >\r\n\t\t\t<div class="rt-container">\r\n\t\t\t\t<div class="rt-grid-12 rt-alpha rt-omega">\r\n <div class="rt-block logo-block">\r\n <a href="/" id="rt-logo"></a>\r\n\t\t\t<span id="rt-logo-accent"></span>\r\n </div>\r\n \n</div>\', $area = 'body' ) ...\helper.php:112
11 10.2501 17836520 plgSystemModalsHelperReplace->replace( $string = '<body class="logo-type-custom headerstyle-dark menustyle-light footerstyle-dark font-family-helvetica font-size-is-large menu-type-dropdownmenu layout-mode-responsive col12">\r\n <header id="rt-top-surround">\r\n\t\t\t\t<div id="rt-top" >\r\n\t\t\t<div class="rt-container">\r\n\t\t\t\t<div class="rt-grid-12 rt-alpha rt-omega">\r\n <div class="rt-block logo-block">\r\n <a href="/" id="rt-logo"></a>\r\n\t\t\t<span id="rt-logo-accent"></span>\r\n </div>\r\n \n</div>\', $area = 'body' ) ...\helper.php:131
12 10.2517 17836520 plgSystemModalsHelperReplace->replaceLinks( $string = '<body class="logo-type-custom headerstyle-dark menustyle-light footerstyle-dark font-family-helvetica font-size-is-large menu-type-dropdownmenu layout-mode-responsive col12">\r\n <header id="rt-top-surround">\r\n\t\t\t\t<div id="rt-top" >\r\n\t\t\t<div class="rt-container">\r\n\t\t\t\t<div class="rt-grid-12 rt-alpha rt-omega">\r\n <div class="rt-block logo-block">\r\n <a href="/" id="rt-logo"></a>\r\n\t\t\t<span id="rt-logo-accent"></span>\r\n </div>\r\n \n</div>\' ) ...\replace.php:112
13 10.5762 18222896 plgSystemModalsHelperReplace->replaceLink( $string = '<body class="logo-type-custom headerstyle-dark menustyle-light footerstyle-dark font-family-helvetica font-size-is-large menu-type-dropdownmenu layout-mode-responsive col12">\r\n <header id="rt-top-surround">\r\n\t\t\t\t<div id="rt-top" >\r\n\t\t\t<div class="rt-container">\r\n\t\t\t\t<div class="rt-grid-12 rt-alpha rt-omega">\r\n <div class="rt-block logo-block">\r\n <a href="/" id="rt-logo"></a>\r\n\t\t\t<span id="rt-logo-accent"></span>\r\n </div>\r\n \n</div>\', $match = [0 => '<a href="http://joomla/">'] ) ...\replace.php:232
14 10.5763 18222896 plgSystemModalsHelperLink->getLinkAttributeList( $string = '<a href="http://joomla/">' ) ...\replace.php:239
My component : http://www.steevo.fr/en
-
- Joomla! Enthusiast
- Posts: 108
- Joined: Sun Dec 12, 2021 9:28 am
Re: Warning avec php 7.4
Salut
PHP 7.4 est plus exigeant en ce qui concerne la déclaration des variables (anticipation de PHP8).
Les templates ou les extensions trop anciens génèrent ce genre de Warning.
Ils ne sont pas gênants avec un php.ini de production mais apparaissent avec un php.ini de développement, généralement sous localhost.
Toutefois, à l'heure actuelle, sous PHP8, ils sont bloquants.
Tu devrais tenter de passer au template de Joomla s'il est compatible avec ton site pour voir si certaines de tes erreurs disparaissent.
Ensuite rechercher les dernières versions de tes extensions ou... les corriger une par une!
Il suffit souvent d'un if(isset($var)) ou (mieux) de déclarer la variable concernée dans son bon type.
Bon courage
PHP 7.4 est plus exigeant en ce qui concerne la déclaration des variables (anticipation de PHP8).
Les templates ou les extensions trop anciens génèrent ce genre de Warning.
Ils ne sont pas gênants avec un php.ini de production mais apparaissent avec un php.ini de développement, généralement sous localhost.
Toutefois, à l'heure actuelle, sous PHP8, ils sont bloquants.
Tu devrais tenter de passer au template de Joomla s'il est compatible avec ton site pour voir si certaines de tes erreurs disparaissent.
Ensuite rechercher les dernières versions de tes extensions ou... les corriger une par une!
Il suffit souvent d'un if(isset($var)) ou (mieux) de déclarer la variable concernée dans son bon type.
Bon courage
-
- Joomla! Intern
- Posts: 72
- Joined: Thu Feb 05, 2009 12:11 am
- Contact:
Re: Warning avec php 7.4
Merci de ta réponse,Olympe30 wrote: ↑Thu Dec 30, 2021 11:32 amSalut
PHP 7.4 est plus exigeant en ce qui concerne la déclaration des variables (anticipation de PHP8).
Les templates ou les extensions trop anciens génèrent ce genre de Warning.
Ils ne sont pas gênants avec un php.ini de production mais apparaissent avec un php.ini de développement, généralement sous localhost.
Toutefois, à l'heure actuelle, sous PHP8, ils sont bloquants.
Tu devrais tenter de passer au template de Joomla s'il est compatible avec ton site pour voir si certaines de tes erreurs disparaissent.
Ensuite rechercher les dernières versions de tes extensions ou... les corriger une par une!
Il suffit souvent d'un if(isset($var)) ou (mieux) de déclarer la variable concernée dans son bon type.
Bon courage
Mais comme j'ai dit, même en mettant le template joomla j'ai toujours ces messages.
Oui je suis en local, c'est pour cela que ces messages apparaissent.
Les extensions sont à jour...
Je vais tenter la mise à jour joomla 4 en local et voir si les messages sont toujours là.
My component : http://www.steevo.fr/en
-
- Joomla! Enthusiast
- Posts: 108
- Joined: Sun Dec 12, 2021 9:28 am
Re: Warning avec php 7.4
C'est PHP qui édite ces messages, pas Joomla.
Si tu ne veux plus les voir, tu dois modifier (ou changer) ton php.ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Mais lorsque tu passeras en PHP8, les erreurs correspondantes pourront être bloquantes.
Si tu ne veux plus les voir, tu dois modifier (ou changer) ton php.ini
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Mais lorsque tu passeras en PHP8, les erreurs correspondantes pourront être bloquantes.
-
- Joomla! Intern
- Posts: 72
- Joined: Thu Feb 05, 2009 12:11 am
- Contact:
Re: Warning avec php 7.4
Oui je sais bien que ce sont des warning PHP car je suis dans une conf de développement mais bon c'est quand même mieux qu'il n'y ait pas d'erreur car juste les cacher en prod c'est pas des plus élégant.
My component : http://www.steevo.fr/en
- sarki
- Joomla! Guru
- Posts: 870
- Joined: Mon Sep 19, 2005 2:34 pm
- Location: Suisse
- Contact:
Re: Warning avec php 7.4
Comme les erreurs sont dépendantes de ta config serveur, si tout est ok avec la migration, je ferai perso un backup avec Akeeba par exemple et je le déploierai sur le serveur en ligne, et seulement là je fignolerai ces petites erreurs
French Joomla Translation & Support : www.joomla.fr
French JCE Translation & Support : www.sarki.ch/jce
French JCE Translation & Support : www.sarki.ch/jce
-
- Joomla! Intern
- Posts: 72
- Joined: Thu Feb 05, 2009 12:11 am
- Contact:
Re: Warning avec php 7.4
C'est surtout que ces messages sont cachés en prod mais ils sont bien là. Et comme l'a dit Olympe30 ces warning non bloquant en PHP 7 peuvent devenir des erreurs bloquantes en PHP 8.
C'est pour cela que j'aimerais les éliminer et pas seulement les cacher par configuration d'affichage des messages.
My component : http://www.steevo.fr/en
-
- Joomla! Enthusiast
- Posts: 108
- Joined: Sun Dec 12, 2021 9:28 am
Re: Warning avec php 7.4
D'autant plus qu'en PHP8, même avec un php.ini de production, les Php Warning sont bloquants!
Auriez-vous une solution à ce problème?
Merci
Auriez-vous une solution à ce problème?
Merci