Too many connections in DB.class.php

Bonjour à tous,
J’ai parfois sur mon jeedom des erreur de scenario qui ne se lance pas :

Dans le log scenario_execution je retrouve régulièrement :
PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40

Avez vous une idée du problème ?
Jeedom 4.1.22
Raspbeery Pi4 + SSD

Merci de votre aide.

Bonjour,

Merci à l’avenir d’utiliser les balises </> pour insérer vos logs pour une meilleurs lisibilité pour tout le monde.

tutoriel cliquez ici

ou envoyer un message privé à @sheldon-bot démarrer tutoriel avancé pour apprendre à utiliser les menus :wink:

2 « J'aime »

Merci, je me sens moins seul :slight_smile:
Je suis coincé sur cette erreur depuis un moment maintenant.
J’ai ouvert un autre sujet, désolé les modos, peut-être que vous pouvez les regrouper.

1 « J'aime »

Je suis en train de faire des recherches sur ce problème.
Avez-vous certains de ces plugins:

Freebox
Tuya X
Script
Mode
Network
RFXCom
Virtuel
Xiaomi Home

Étrange, j’ai aussi cette erreur de temps en temps, et aussi sur le translate de chauffage…

Bonjour,

D’après les docs de bases de données MySQL ou MariaDB ou autres ils s’agit peut-être d’un usage excessif du nombre de connexions à la base Jeedom en effet le moteur de DB à un nombre max de connexions DB autorisé en simultané et cela est conditionné aussi par la quantité de RAM disponible pour le système.

Pour voir le nombre de connexions autorisées il faut se connecté en tant que root sur la DB et faire la commande : SHOW VARIABLES LIKE ‹ max_connections ›;

On aura un sortie du type :

MariaDB [(none)]> SHOW VARIABLES LIKE "max_connections";
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 151   |
+-----------------+-------+
1 row in set (0.003 sec)

Pour mon cas j’ai 151 connexions autorisé 150 de base + 1 pour autoriser de façon systématique le user root qui est SUPERUSER.

Pour voir le nombre de connexions actuelles sur la DB il suffit toujours en root sur le moteur de DB de faire la commande : SHOW PROCESSLIST; on a une sortie comme suit :

MariaDB [(none)]> show processlist;
+-------+-------------+-----------+--------+---------+------+--------------------------+------------------+----------+
| Id    | User        | Host      | db     | Command | Time | State                    | Info             | Progress |
+-------+-------------+-----------+--------+---------+------+--------------------------+------------------+----------+
|     1 | system user |           | NULL   | Daemon  | NULL | InnoDB purge coordinator | NULL             |    0.000 |
|     2 | system user |           | NULL   | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|     3 | system user |           | NULL   | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|     4 | system user |           | NULL   | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|     5 | system user |           | NULL   | Daemon  | NULL | InnoDB shutdown handler  | NULL             |    0.000 |
| 29756 | jeedom      | localhost | jeedom | Sleep   |    0 |                          | NULL             |    0.000 |
| 94219 | jeedom      | localhost | jeedom | Sleep   |    0 |                          | NULL             |    0.000 |
| 94230 | jeedom      | localhost | jeedom | Sleep   |  241 |                          | NULL             |    0.000 |
| 94244 | jeedom      | localhost | jeedom | Sleep   |  544 |                          | NULL             |    0.000 |
| 94269 | jeedom      | localhost | jeedom | Sleep   |   90 |                          | NULL             |    0.000 |
| 94276 | jeedom      | localhost | jeedom | Sleep   | 1149 |                          | NULL             |    0.000 |
| 94335 | jeedom      | localhost | jeedom | Sleep   |  393 |                          | NULL             |    0.000 |
| 94349 | jeedom      | localhost | jeedom | Sleep   |  695 |                          | NULL             |    0.000 |
| 95866 | jeedom      | localhost | jeedom | Sleep   |  846 |                          | NULL             |    0.000 |
| 95874 | jeedom      | localhost | jeedom | Sleep   |  766 |                          | NULL             |    0.000 |
| 95894 | jeedom      | localhost | jeedom | Sleep   |  314 |                          | NULL             |    0.000 |
| 95983 | jeedom      | localhost | jeedom | Sleep   |  998 |                          | NULL             |    0.000 |
| 98727 | root        | localhost | NULL   | Query   |    0 | Init                     | show processlist |    0.000 |
| 98765 | jeedom      | localhost | jeedom | Sleep   |   20 |                          | NULL             |    0.000 |
+-------+-------------+-----------+--------+---------+------+--------------------------+------------------+----------+
19 rows in set (0.001 sec)

Ci-dessus les sorties sur mon système. On voit que Jeedom utilise pas mal de connexion je soupsonne que chaque plugin utilise sa propre connexion voire plus ce qui pourrait provoqué ce type de message car trop de connexions simultanés à tester pour voir.

Pour les gens qui veuent des détails techniques j’ai trouvé :

MySQL :: MySQL 8.0 Reference Manual :: 8.12.3.1 How MySQL Uses Memory.

Afin de pouvoir si vous le voulez activer les compteurs pour voir la quantité de RAM utilisée.

Moi j’ai 8G donc je suis à l’aise mais pour les gens qui ont un PI3B+ par exemple avec juste 1G de RAM ça peut vite devenir problématique à voir donc …

1 « J'aime »

Moi je n’ai pas ce souci donc je ne suis pas concerné mais voir comme je le dis, le fait qu’avec un système qui a peu de RAM et beaucoup de plugin on peut avor vite des goulots d’étranglement si le système ne peux pas construire de nouvelles connexions suite au manque de RAM ou simplement par le fait qui si le système manque de RAM alors il va jouer avec le SWAP et au final passer son temps à faire les échange entre la RAM et le SWAP pour gérer les bascules de contextes systèmes …

Oui c’est très pratique, je garde ton lien sous le coude.
De plus, on voit que tu as déjà max_connections = 151 donc pas de problème « Too many connection ».

En fait j’ai plus mis ça pour tout le monde pour pouvoir faire les tests et diagnostics soit même afin de comprendre ce qui peut clocher sur son propre système :slight_smile:

Bonjour à tous, désolé de répondre si tard.
J’ai changé également mon paramètre max_connections à 150, je vais voir si les erreurs persistent.

Merci pour vos recherches et réponses :slight_smile:

Désormais la première erreur a disparu, j’ai maintenant :

Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /var/www/html/core/class/DB.class.php:40
#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '0f300701a34e752', Array)
#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
#3 /var/www/html/core/class/config.class.php(187): DB::Prepare('SELECT `key`,`v...', Array, 1)
#4 /var/www/html/core/class/translate.class.php(34): config::byKeys(Array)
#5 /var/www/html/core/class/translate.class.php(151): translate::getConfig('language', 'fr_FR')
#6 /var/www/html/core/class/translate.class.php(75): translate::getLanguage()
#7 /var/www/html/core/class/translate.class.php(54): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
#8 /var/www/html/core/class/translate.class.php(165): translate::sentence('Chauffage', '/var/www/html/c...', false)
#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/v in /var/www/html/core/class/DB.class.php on line 40
PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
Stack trace:
#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '0f300701a34e752', Array)
#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
#3 /var/www/html/core/class/config.class.php(187): DB::Prepare('SELECT `key`,`v...', Array, 1)
#4 /var/www/html/core/class/translate.class.php(34): config::byKeys(Array)
#5 /var/www/html/core/class/translate.class.php(151): translate::getConfig('language', 'fr_FR')
#6 /var/www/html/core/class/translate.class.php(75): translate::getLanguage()
#7 /var/www/html/core/class/translate.class.php(54): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
#8 /var/www/html/core/class/translate.class.php(165): translate::sentence('Chauffage', '/var/www/html/c...', false)
#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/v in /var/www/html/core/class/DB.class.php on line 40
PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /var/www/html/core/class/DB.class.php:40
Stack trace:
#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '0f300701a34e752', Array)
#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
#3 /var/www/html/core/class/config.class.php(187): DB::Prepare('SELECT `key`,`v...', Array, 1)
#4 /var/www/html/core/class/translate.class.php(34): config::byKeys(Array)
#5 /var/www/html/core/class/translate.class.php(151): translate::getConfig('language', 'fr_FR')
#6 /var/www/html/core/class/translate.class.php(75): translate::getLanguage()
#7 /var/www/html/core/class/translate.class.php(54): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
#8 /var/www/html/core/class/translate.class.php(165): translate::sentence('Chauffage', '/var/www/html/c...', false)
#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage' in /var/www/html/core/class/DB.class.php on line 40
PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [2002] No such file or directory in /var/www/html/core/class/DB.class.php:40

apparemment d’autre personnes l’ont aussi sur « chauffage »

Bonjour,

J’avais parfois l’erreur suivante sur mon jeedom test qui tourne sous docker avec une bdd séparée dans un autre container (donc plutôt spécifique on va dire) :

[28-May-2021 13:13:02 Europe/Brussels] E_WARNING: PDO::__construct(): MySQL server has gone away in /var/www/html/core/class/DB.class.php on line 49

J’ai trouvé cette note en bas de page sur les connections persistantes (https://www.php.net/manual/fr/pdo.connections.php) :

Si vous utilisez le pilote PDO ODBC et que votre librairie ODBC prend en charge le bassin de connexion ODBC (unixODBC et Windows le supportent tous les deux ; peut être plus), alors il est recommandé de ne pas utiliser les connexions persistantes PDO, mais plutôt laisser le bassin de connexion ODBC mettre en cache les connexions. Le bassin de connexion ODBC est partagé avec les autres modules dans le processus ; si PDO met en cache la connexion, alors cette connexion ne sera jamais retournée par le bassin de connexion ODBC, faisant que plusieurs connexions sont créées pour les autres modules.

C’est intéressant parce que Jeedom utilise justement les connexions persistantes PDO. J’ai donc changé - pour test - et ça a l’air de marcher.
Par rapport à l’erreur « too many connections » je soupçonne que jeedom lance plein de scripts (l’interface WEB déjà lance plusieurs requêtes ajax, + tous les démons et crons qui peuvent tourner en même temps) et si chaque script garde sa ( ses ) connection(s) ça grimpe vite.

Bonjour à tous

depuis mon passage en 4.2 (dernière stable)

j’ai aussi cette erreur qui arrive, que je n’avais pas en 4.1

0007|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0008|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0009|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0010|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0011|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0012|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0013|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0014|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0015|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0016|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0017|[Wed Mar 23 17:57:24.122366 2022] [php7:error] [pid 4869] [client 10.14.0.1:40552] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0018|Stack trace:

une solution officielle existe ?

la réponse du support jeedom :

Cette erreur indique un jeedom trop chargé pour ses capacités de traitement. On peut changer la limite mais ce n’est vraiment pas recommander et il vaut mieux essayer d’optimiser son jeedom.

Cette saturation ne peut pas se voir pour la page santé. Votre soucis c’est le nombre de connexion a la BDD, c’est limité a 100 en simultané par défaut pour limiter les risque d’arrêt du complet du systeme.

Apparemment la SMART qui fonctionnait bien en 4.1, est uptodate en 4.2 :frowning: avec ma conf en tous cas

Ha, je n’ai pas eu ce problème, mais si tu te sens de bidouiller le source du core, tu peux tester la solution ci-dessus, à savoir de passer les connexions en non-persistant.
Dans core/class/DB.class.php L40 il faut remplacer
PDO::ATTR_PERSISTENT => true par PDO::ATTR_PERSISTENT => false

Merci

Les messages n’arrivent plus.

Je garde votre solution sous le coude :wink:

Impossible d’accéder à une de mes Smart ce matin : SQLSTATE[HY000] [1040] Too many connections. Après reboot, j’ai vérifié le nombre max. de connections possibles : 151. Mémoire disponible : 1,7GB. Jeedom à jour. Charge système 0.1 en moyenne, max 0.25. Aucun script. Dans les log scénarios, problèmes récurrents de « Chauffage » pour moi aussi qui, cumulés et vu leur fréquence, ont certainement entraînés l’emballement du nombre de connections… Cette Smart était stable depuis plusieurs mois. J’ai dû l’arrêter il y a une semaine pour insérer un UPS sur son alim mais rien d’autre. J’ai bien lu tous vos posts ci-dessus et vous en remercie car j’y ai appris quelque chose mais j’hésite à bidouiller la BD sans savoir quel est l’impact de mettre les connections en non-persistant. Dit différemment, pourquoi un développeur l’aurait-t-il mis sur persistant si le non-persistant est plus pertinent ? Le béotien que je suis a besoin d’aide !

PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
Stack trace:
#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40`
0900|Stack trace:
0901|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0902|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0903|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0904|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0905|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0906|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0907|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0908|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0909|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0910|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0911|[Wed Apr 20 07:11:00.843533 2022] [php7:error] [pid 17944] [client 127.0.0.1:53633] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0912|Stack trace:
0913|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0914|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0915|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0916|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0917|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0918|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0919|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0920|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0921|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0922|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0923|[Wed Apr 20 07:11:00.865017 2022] [php7:error] [pid 15707] [client 127.0.0.1:53634] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0924|Stack trace:
0925|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0926|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0927|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0928|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0929|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0930|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0931|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0932|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0933|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0934|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0935|[Wed Apr 20 07:11:00.883700 2022] [php7:error] [pid 15708] [client 127.0.0.1:53635] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0936|Stack trace:
0937|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0938|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0939|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0940|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0941|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0942|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0943|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0944|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0945|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0946|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0947|[Wed Apr 20 07:11:04.755703 2022] [php7:error] [pid 14038] [client 127.0.0.1:53644] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0948|Stack trace:
0949|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0950|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0951|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0952|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0953|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0954|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0955|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0956|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0957|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0958|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0959|[Wed Apr 20 07:11:04.775236 2022] [php7:error] [pid 15732] [client 127.0.0.1:53645] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0960|Stack trace:
0961|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0962|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0963|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0964|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0965|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0966|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0967|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0968|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0969|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0970|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0971|[Wed Apr 20 07:11:04.796590 2022] [php7:error] [pid 15702] [client 127.0.0.1:53646] PHP Fatal error:  Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40
0972|Stack trace:
0973|#0 /var/www/html/core/class/DB.class.php(40): PDO->__construct('mysql:host=loca...', 'jeedom', '8007f680c36b1d8', Array)
0974|#1 /var/www/html/core/class/DB.class.php(50): DB::initConnection()
0975|#2 /var/www/html/core/class/DB.class.php(82): DB::getConnection()
0976|#3 /var/www/html/core/class/config.class.php(190): DB::Prepare('SELECT `key`,`v...', Array, 1)
0977|#4 /var/www/html/core/class/translate.class.php(51): config::byKeys(Array)
0978|#5 /var/www/html/core/class/translate.class.php(205): translate::getConfig('language', 'fr_FR')
0979|#6 /var/www/html/core/class/translate.class.php(102): translate::getLanguage()
0980|#7 /var/www/html/core/class/translate.class.php(81): translate::exec('{{Chauffage}}', '/var/www/html/c...', false)
0981|#8 /var/www/html/core/class/translate.class.php(218): translate::sentence('Chauffage', '/var/www/html/c...', false)
0982|#9 /var/www/html/core/config/jeedom.config.php(23): __('Chauffage', '/ in /var/www/html/core/class/DB.class.php on line 40
0983|[Wed Apr 20 06:26:19.115112 2022] [mpm_prefork:notice] [pid 428] AH00163: Apache/2.4.38 (Debian) configured -- resuming normal operations
0984|[Wed Apr 20 06:26:19.115824 2022] [core:notice] [pid 428] AH00094: Command line: '/usr/sbin/apache2'
0985|[Wed Apr 20 08:07:18.359521 2022] [php7:error] [pid 4461] [client 192.168.0.152:56883] PHP Fatal error:  Uncaught Error: Call to undefined method openzwave::getBackgroundColor() in /var/www/html/plugins/widget/core/class/widget.class.php:421
0986|Stack trace:
0987|#0 /var/www/html/plugins/widget/core/ajax/widget.ajax.php(152): widget->displayExemple()
0988|#1 {main}
0989|thrown in /var/www/html/plugins/widget/core/class/widget.class.php on line 421, referer: http://192.168.0.154/index.php?v=d&m=widget&p=widget
0990|[Wed Apr 20 08:07:49.747057 2022] [php7:error] [pid 561] [client 192.168.0.152:56897] PHP Fatal error:  Uncaught Error: Call to undefined method Monitoring::getBackgroundColor() in /var/www/html/plugins/widget/core/class/widget.class.php:421
0991|Stack trace:
0992|#0 /var/www/html/plugins/widget/core/ajax/widget.ajax.php(152): widget->displayExemple()
0993|#1 {main}
0994|thrown in /var/www/html/plugins/widget/core/class/widget.class.php on line 421, referer: http://192.168.0.154/index.php?v=d&m=widget&p=widget
0995|[Wed Apr 20 08:08:39.635804 2022] [php7:error] [pid 561] [client 192.168.0.152:56907] PHP Fatal error:  Uncaught Error: Call to undefined method openzwave::getBackgroundColor() in /var/www/html/plugins/widget/core/class/widget.class.php:421
0996|Stack trace:
0997|#0 /var/www/html/plugins/widget/core/ajax/widget.ajax.php(152): widget->displayExemple()
0998|#1 {main}
0999|thrown in /var/www/html/plugins/widget/core/class/widget.class.php on line 421, referer: http://192.168.0.154/index.php?v=d&m=widget&p=widget

Bonjour
J’avais aussi cette erreur :

PHP Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1040] Too many connections in /var/www/html/core/class/DB.class.php:40

J’ai supprimé le plugin zWave, que je n’utilise pas et qui était pourtant désactivé.
Le message d’erreur a disparu.