Hello,
Je ne suis pas un expert en PHP (même si je « joue » avec régulièrement), mais la solution proposée par @ktn m’étonne, et, je pense, ne fait que « contourner » le problème.
« set_include_path » est une fonction standard de PHP, et lorsqu’on souhaite ajouter un chemin au path existant (ce qui est le cas ici), il faut justement utiliser la variable PATH_SEPARATOR et la concaténation de chaines (ici c’est le « . » qui permet cette construction de la chaine de caractères à partir des 3 éléments présents dans le code).
Donc faire la modif proposée ne fait que « faire planter » les appels « include(…) » qui sont en dessous (et en plus pourrait avoir d’autres conséquences dans Jeedom, car le path d’origine du coup n’existe plus car il est écrasé par la valeur que l’on met dans le set_include_path ici.
Donc forcément ca résout le problème pour la plupart d’entre nous, car ce sont ces 4 lignes d’ajouts juste en dessous qui rentrent en conflit avec d’autres plugin qui utilisent la même librairie mais dans une version différente (comme le plugin VMWare qui l’ajoute à son répertoire ressources et utilise donc lui aussi cette librairie SSH2)
Par contre il y a bien un soucis dans la ligne d’origine de ce set_include_path :
Avant :
set_include_path(get_include_path() . PATH_SEPARATOR . '/phpseclib');
Après :
set_include_path(get_include_path() . PATH_SEPARATOR . '/usr/share/php/phpseclib');
Car il faut indiquer le chemin complet linux pour ajouter cela au path des include.
Bon par contre, malgré cette modif (où le path du coup est bon), les lignes suivantes font malgré tout planter Jeedom…
J’ai continué un petit peu mes tests, et à la place d’utiliser les librairies système, j’ai inclus dans le code Monitoring les fichiers phpseclib du plugin vmware, et bien cela fonctionne ensuite, et en regardant les fichiers inclus dans le plugin vmware, la librairie phpseclib est une version qui semble plus ancienne que celle incluse dans le système (celle installée par le plugin Monitoring).
Après, mes investigations se sont arrêtées là faute de temps…
Bonne journée,
TiTidom.