Compatibilité Debian 12 NOK

La réponse a votre première question a été donnée à cet endroit

1 « J'aime »

J’avais vu. Il faut essayer de ne pas trop m’en vouloir, je ne maitrise pas mais j’essaie de comprendre afin de ne pas faire bêtement la correction. Donc en PHP8, il faut remplacer la class socket par socketH?
Ce qui veut dire que sur mon atlas fonctionnel en Debian 11 je ne suis pas en PHP8 (7.4.33) et qu’il faut toucher à rien :wink:

Oui apparemment en php 8 ils ont sorti une classe interne à php8 qui a le nom socket, donc toute tentative d’utiliser ce nom (qui devient donc réservé) est soldé par une erreur, d’où il suffit de le renommer

Merci c’est beaucoup plus clair comme ça
Je m’interroge sur le fait que @jpty a beaucoup plus de lignes comportant socket que moi mais de toute façon, je ne peux pas les inventer. J’ai installé la version stable du pluggin
Pour essayer de ne pas faire de boulette, voila ma modif:
Avant:

/var/www/html/plugins/hottoh/core/class/hottoh.class.php:require 'Socket.class.php';
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:         //Ouverture Socket
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:    	$this->socket= new Socket;
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:          //Fermeture Socket
/var/www/html/plugins/hottoh/core/class/search_poele.php:require 'Socket.class.php';
/var/www/html/plugins/hottoh/core/class/search_poele.php:      	/*$socket= new Socket;
/var/www/html/plugins/hottoh/core/class/Requete.class.php://require 'Socket.class.php';
/var/www/html/plugins/hottoh/core/class/Requete.class.php:      	Socket::setGlobalId();
/var/www/html/plugins/hottoh/core/class/Requete.class.php:    	$str1=sprintf("%05d", Socket::getGlobalId());
/var/www/html/plugins/hottoh/core/class/Socket.class.php:class Socket {
/var/www/html/plugins/hottoh/core/class/test_ecriture.php:require 'Socket.class.php';
/var/www/html/plugins/hottoh/core/class/test_ecriture.php:$socket= new Socket;
/var/www/html/plugins/hottoh/core/class/test_lecture.php:require 'Socket.class.php';
/var/www/html/plugins/hottoh/core/class/test_lecture.php:$socket= new Socket;

Après:

/var/www/html/plugins/hottoh/core/class/hottoh.class.php:require 'SocketH.class.php';
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:         //Ouverture SocketH
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:    	$this->socket= new SocketH;
/var/www/html/plugins/hottoh/core/class/hottoh.class.php:          //Fermeture SocketH
/var/www/html/plugins/hottoh/core/class/search_poele.php:require 'SocketH.class.php';
/var/www/html/plugins/hottoh/core/class/search_poele.php:      	/*$socket= new SocketH;
/var/www/html/plugins/hottoh/core/class/Requete.class.php://require 'SocketH.class.php';
/var/www/html/plugins/hottoh/core/class/Requete.class.php:      	SocketH::setGlobalId();
/var/www/html/plugins/hottoh/core/class/Requete.class.php:    	$str1=sprintf("%05d", SocketH::getGlobalId());
/var/www/html/plugins/hottoh/core/class/Socket.class.php:class SocketH {
/var/www/html/plugins/hottoh/core/class/test_ecriture.php:require 'SocketH.class.php';
/var/www/html/plugins/hottoh/core/class/test_ecriture.php:$socket= new SocketH;
/var/www/html/plugins/hottoh/core/class/test_lecture.php:require 'SocketH.class.php';
/var/www/html/plugins/hottoh/core/class/test_lecture.php:$socket= new SocketH;

Après, si vous me confirmez que c’est ok, me reste plus qu’à aller modifier directement les fichiers

Merci encore pour votre aide et votre temps

Bonjour,

  • Il faut aussi renommer ce fichier en SocketH.class.php
    image

  • Le renommage de la classe en SocketH est compatible PHP7 (Debian11)

  • Je ne sais pas pourquoi vous avez moins de ligne que moi. Je suis aussi parti de la version stable du 2021-12-27 ( La version beta est plus ancienne 2019-10-24 )

J’ai compris pourquoi vous avez moins de lignes:
J’avais installé une beta sur laquelle j’ai installé la stable. Comme les dates d’installation sont très rapprochées, le nettoyage des fichiers non utilisés de la beta ne s’est pas fait.

Si je supprime le plugin et que je n’installe que la stable, j’ai le même nombre de lignes que vous.
Ca donne pour les modifs à faire:


Si vous ne faites que les 6 rouges, ça devrait fonctionner.

1 « J'aime »

Merci, du coup, si je ne fais que les points rouges je n’est pas besoin de faire cette manip ?

Exactement.
Ou plus précisément puisqu’il y a 2 manips dans le texte cité:

Le renommage de la classe est obligatoire.

Ne pas faire les modifs en bleu si vous ne renommez pas le fichier.

Merci et encore désolé de paraitre aussi bête

En renommant la classe Socket en SocketH dans le fichier hottoh/core/class/Socket.class.php le plugin est activable mais bien évidemment non fonctionnel.

C’est bien la ligne 22 ou je remplace Socket par SocketH et juste cette ligne ?

Ne craquez pas s’il vous plait :wink:

Oui.
C’est le dernier point Rouge, la ligne qui contient class Socket {

1 « J'aime »

Je teste demain. Encore merci pour le temps passé
Si vous passez en Savoie, l’apéro c’est pour moi :ok_hand:

Pour avoir les numéros de ligne dans le résultat de la recherche avec grep, ajoutez l’option -n:

grep -r -n "\bSocket\b" /var/www/html/plugins/hottoh

Le numéro de la ligne sera entre : après le nom du fichier et avant le texte trouvé.

1 « J'aime »

Bonjour,

Je vois qu’une version du plugin est disponible ce matin avec le renommage de la classe Socket en HottohSocket et les corrections des define.
Github
Ce fil peut être clos.

2 « J'aime »

Oui je fais des tests avec @Pierrick qui a bien voulu prendre du temps et s’en occuper
Un grand merci à lui !!!

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.