eibd sur NAS QNAP TS-4xx - Version imprimable +- Forum KNX francophone / English KNX forum (https://www.knx-fr.com) +-- Forum : Français (https://www.knx-fr.com/forumdisplay.php?fid=3) +--- Forum : Archives eib-domotique (https://www.knx-fr.com/forumdisplay.php?fid=8) +--- Sujet : eibd sur NAS QNAP TS-4xx (/showthread.php?tid=264) |
eibd sur NAS QNAP TS-4xx - marc.assin - 26/03/2011 On 25 mar, 21:00, Ben <tmt....@gmail.com> wrote: > Tu devrais ainsi faire apparaître les erreurs lors de l'exécution de > ta page dans le navigateur. J'ai le sentiment que les librairies ne sont pas trouvées, mais comment vérifier ? Quelque chose me tracasse dans php.ini à propos de la ligne include_path d'origine include_path=".:/etc/config/php" changé en include_path=".:/etc/config/php:/share/Web/Cisco/lib" Je suppose que ce include_path doit pointer sur des directory ? or = /etc/config/php ne pointe sur rien du tout, n'existe pas ! et comme il est le premier sur la ligne ... Je suppose qu'ils ne font pas de bug chez QNAP ? surtout avec un nouveau release ? Est-ce que un propriétaire de QNAP serait assez aimable pour vérifier svp ? Merci eibd sur NAS QNAP TS-4xx - Frédéric - 26/03/2011 On Sat, 26 Mar 2011 09:48:52 -0700 (PDT), "marc.assin" <raymond@warichet.com> wrote: > Je suppose que ce include_path doit pointer sur des directory ? Oui. > or = /etc/config/php ne pointe sur rien du tout, n'existe pas ! et > comme il est le premier sur la ligne ... Ce n'est pas grave si un champ pointe dans le vide ; de toute façon, il les parcourt tous (l'ordre importe peu, sauf si la même librairie existe dans 2 endroits, et pas dans la même version ; là , si on veut charger l'une plutôt que l'autre, j'imagine qu'il faut qu'elle apparaisse en premier). Mais il en faut au moins un de valide, avec tout ce qui va bien dedans ! -- Frédéric eibd sur NAS QNAP TS-4xx - jef2000 - 26/03/2011 Salut Raymond, Qu'est-ce qui time-out exactement? Quel est le message d'erreur? Parce que le problème dont tu parles (include_path) n'a à priori aucun rapport avec un time-out. Si c'est un problème d'include_path, tu peux également essayer de mettre eibclient.php au même endroit que ton script php, puisque include_path contient le répertoire courant (.). A part ça, sans connaître les détails de ton script je ne vois pas trop comment on peut t'aider, on ne va pas jouer aux devinettes... A+ Jean-François On 25 mar, 18:03, "marc.assin" <raym...@warichet.com> wrote: > J'ai mon eibd qui marche, lorsque je lance une commande, à la main > ./groupswrite ip:x.x.x.244 0/1/31 1 > çà m'allume bien la lampe. > > En programmation, çà se termine sur un time-out > Suite au déménagement sur le NAS, j'ai adapté mon programme PHP, j'ai > corrigé les adresses IP. > > Je me suis rapellé que dans php.ini, il fallait rajouter l'endroit des > librairies dans le include_path, qui devient > include_path=".:/etc/config/php:/share/Web/Cisco/lib" > > J'ai copié le eibclient.php dans la lib ..... qu'est ce que j'ai > oublié ? eibd sur NAS QNAP TS-4xx - marc.assin - 26/03/2011 @Frédéric >Ce n'est pas grave si un champ pointe dans le vide; OK, merci @Jean-François >Qu'est-ce qui time-out exactement? Je ne sais pas au juste. Sur le téléphone, l'horloge (sablier) tourne pendant 1-2 minutes Avec IE, le browser reste pendu. >Quel est le message d'erreur? Il n'y en a pas (trop facile çà !) >Parce que le problème dont tu parles (include_path) n'a à priori aucun rapport avec un time-out. OK, d'accord. Je me disais que si du code php apelle une librairie (qui est censée être loadée dès le départ) et qu'il n'y a pas de réponse, çà pourrais ressembler à mon symptome. >Si c'est un problème d'include_path, tu peux également essayer de mettre eibclient.php au même endroit que ton script php, puisque include_path contient le répertoire courant (.). OK, bonne idée >sans connaître les détails de ton script je ne vois pas trop comment on peut t'aider Le problème est lié à eibd et à son environnement de travail. Lorsque je mets la ligne $status = GroupRead($ip,$ga1); en commentaire, le script tourne (mais ne fais rien, bien sûr) $ip = "127.0.0.1"; // IP address: localhost 127.0.0.1 $ga1 = "0/7/87"; // KNX Group address: Intrusion: Portail GroupRead.php est en principe dans le path de la lib, et contient une fonction que tu connais bien :-) function GroupRead($ip,$ga) { require_once('eibclient.php'); eibclient.php est en principe dans le path de la lib aussi J'ai implémenté la suggestion de Ben "display_startup_errors = On" Il ne devrait pas râler s'il ne trouve pas ses jeunes ? Merci pour votre patience eibd sur NAS QNAP TS-4xx - marc.assin - 27/03/2011 eibd ne tourne plus ! une tentative de démarrage donne ./eibd: error while loading shared libraries: libpthsem.so.20: cannot open shared object file: No such file or directory Tiens, tiens, problème déjà rencontré et supposé solutionné par une modif de /etc/ld.so.conf Un coup d'oeil sur /etc/ld.so.conf montre un fichier inchangé ?!? Mwoui (je sais ce que vous pensez) Un "find /opt -name libpthsem.so.20 -print" me trouve le fichier en /share/MD0_DATA/optware/opt/lib J'ajoute la ligne "/share/MD0_DATA/optware/opt/lib" à la fin de "/etc/ ld.so.conf" (Esc :wq) Il y a un 2ième paramètre dans php.ini à propos d'erreurs. Je l'ai mis à "On" également. Lorsque je lance mon script dans le browser http://x.x.fr/Cisco/interieur/rez/hall/applic.php j'ai l'erreur <b>Notice</b>: Undefined variable: socket in <b>/share/MD0_DATA/Web/ Cisco/lib/eibclient.php</b> on ... Je n'ai pas modifié "eibclient.php", je suppose qu'il n'y a pas lieu ? je pense qu'il est autonome et qu'il y a un port par défaut ? Je lance eibd avec : ./eibd -D -T -S -d -i ipt:10.0.1.244 Faut'il spécifier un port ? je pense que non. Est-ce que les paramètres seraient mal passé ? eibd sur NAS QNAP TS-4xx - marc.assin - 30/03/2011 J'ai mis les options de Debug à ON J'ai vérifié les droits d'accès aussi bien DOS que Linux (777 partout), mais lorsque je lance mon script dans IE http://x.x.fr/Cisco/interieur/rez/hall/applic.php j'ai l'erreur Only one top level element is allowed in an XML document. Error processing resource 'http://nas.beausoleil.fr/Cisco/alarme/... <b>Notice</b>: Undefined variable: socket in <b>/share/MD0_DATA/Web/ Cisco/alarme/eibclient.php</b> ... Je pense que la vraie erreur a trait à "Undefined variable: socket" Le fait qu'il râle sur eibdclient me donne à penser qu'il a bien trouvé la librairie. Est-ce que eibdclient a besoin d'une resource pour tourner ? Quelqu'un a une idée ? eibd sur NAS QNAP TS-4xx - Ben - 30/03/2011 > Only one top level element is allowed in an XML document. Error > processing resource 'http://nas.beausoleil.fr/Cisco/alarme/... Ca ressemble a une mal-formation dans un fichier xml que php essaie de lire... > <b>Notice</b>: Undefined variable: socket in <b>/share/MD0_DATA/Web/ > Cisco/alarme/eibclient.php</b> ... Ce n'est pas une erreur, tu peux fermer les yeux sur les "notices". > Je pense que la vraie erreur a trait à "Undefined variable: socket" > Le fait qu'il râle sur eibdclient me donne à penser qu'il a bien > trouvé la librairie. Oui. > Est-ce que eibdclient a besoin d'une resource pour tourner ? Pas à ma connaissance... > Quelqu'un a une idée ? Pour moi, ce n'est pas la librairie eibclint.php qui cloche. Le problème est ailleurs, certainement du côté du répertoire "alarme" qui contient un fichier/flux xml erroné... eibd sur NAS QNAP TS-4xx - marc.assin - 30/03/2011 On 30 mar, 13:54, Ben <tmt....@gmail.com> wrote: > > Only one top level element is allowed in an XML document. Error > > processing resource 'http://nas.beausoleil.fr/Cisco/alarme/... > Ca ressemble a une mal-formation dans un fichier xml que php essaie de > lire... Oui, c'est vrai, mais en l'occurence, je ne crois pas que ce soit le cas, car: - le fichier xml n'a pas été modifié - lorsque je mets la commande "GroupRead" en commentaire, çà passe à moins que le fait d'avoir déménagé mon appli sur le NAS n'aie rajoué une dépendance (que je ne connais pas et qui me fout dedans, du genre format de fichier, sécurité etc) Il est à noter qu'avant, l'appli tournait sur un PC (Intel) sous Linux, maitenant sur un processeur Marvell. Je suppose que le code PHP est exécuté sur le NAS, produit du code html classique et donc, en principe çà devrait marcher ... > > Quelqu'un a une idée ? > Pour moi, ce n'est pas la librairie eibclint.php qui cloche. > Le problème est ailleurs, certainement du côté du répertoire "alarme" > qui contient un fichier/flux xml erroné... Oui, logiquement, tout donne à penser que c'est le cas. Pour vérifier cette hypothèse, il faudrais solliciter eibd par un autre moyen. Est-ce que tu aurais sous le coude, un bout de code PHP tout à fait minimaliste, que je puisse lancer dans IE et voir ce que çà donne ? Peut-être que je me suis complètement planté et que ce que j'essaye de faire n'est pas possible :-( Merci Ben eibd sur NAS QNAP TS-4xx - Ben - 30/03/2011 > Pour vérifier cette hypothèse, il faudrais solliciter eibd par un > autre moyen. > Est-ce que tu aurais sous le coude, un bout de code PHP tout à fait > minimaliste, que je puisse lancer dans IE et voir ce que çà donne ? Je viens de t'envoyer un zip par email. Ben eibd sur NAS QNAP TS-4xx - marc.assin - 31/03/2011 On 30 mar, 22:41, Ben <tmt....@gmail.com> wrote: > Je viens de t'envoyer un zip par email. Merci beaucoup. Je vais essayer de me débrouiller eibd sur NAS QNAP TS-4xx - marc.assin - 31/03/2011 Il a râlé sur include_once("linknx_config.php"); dans common.php Je suppose que je n'en ai pas besoin, je l'ai mis en commentaire. Je bloque sur la ligne 27 de list.php Warning: Invalid argument supplied for foreach() in /share/MD0_DATA/ Web/Test/list.php on line 27 Tout porte à croire qu'il y a une erreur dans config.php J'ai vérfié, pas vu ! J'ai remis celui d'origine (non-modifé), c'est pareil. Je suppose que le config.php est censé être OK pour un test de chargement dans le navigateur, même si rien ne fonctionne (pour cause de GA non modifié) ? Est-ce que çà peut être un problème de version de PHP ? eibd sur NAS QNAP TS-4xx - Ben - 31/03/2011 > Il a râlé sur > include_once("linknx_config.php"); dans common.php > Je suppose que je n'en ai pas besoin, je l'ai mis en commentaire. En fait c'est include_once("config.php") et non "linknx_config.php". Tu as besoin de cette ligne, il faut la décommenter. Ben eibd sur NAS QNAP TS-4xx - marc.assin - 31/03/2011 On 31 mar, 13:07, Ben <tmt....@gmail.com> wrote: > En fait c'est include_once("config.php") et non "linknx_config.php". BINGO ! du premier coup ! Voilà qui élimine déjà le NAS proprement dit, PHP et les paramètres de démarrage de eibd de la liste des suspects (encore que, il n'y avait pas lieu) Je pense que j'ai un gros problème, gros comme une maison, il est devant mon nez, mais je ne le vois pas. Ce ne serais pas une mistrouille d'encodage ISO/UTF ? (j'emploie des caractères accentués). J'avais choisi UTF-8 pour afficher les caractères accentués correctement sur le téléphone, p'têt à revoir... Mais ... mais ... elle est super cette petite Visu eibd ! Voilà qui devrait faire l'affaire pour tout qui n'a pas des besoins sophistiqués et qui ne veut pas investir dans une usine à gaz. Pour info, j'ai déposé une copie d'écran eibdVisu.JPG dans https://sites.google.com/site/domotiqueeib/fichiers/eibd_linknx_knxweb Merci Ben eibd sur NAS QNAP TS-4xx - Ben - 31/03/2011 > Je pense que j'ai un gros problème, gros comme une maison, il est > devant mon nez, mais je ne le vois pas. > Ce ne serais pas une mistrouille d'encodage ISO/UTF ? (j'emploie des > caractères accentués). J'avais choisi UTF-8 pour afficher les > caractères accentués correctement sur le téléphone, p'têt à revoir... Si tu veux bien m'envoyer ton fichier xml par email, je te dirai ce que j'en pense... Ben eibd sur NAS QNAP TS-4xx - marc.assin - 08/04/2011 Bonjour, J'ai encore un bobo avec ma Visu sur tf Cisco, c'est hors sujet, mais peut-être qu'un oeil d'expert verra de suite où est le problème.. Avec mes scripts PHP, j'arrive à afficher correctement l'état d'un GA, lorqu'il s'agit d'un actuateur TOR. Pour les GA à base de dimmer, je n'y arrive pas, je pense que j'ai un problème d'encapsulation dans la ligne ci-dessous $menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status= $status&icon_on=$icon_on&icon_off=$icon_off</URL>\n"; NB: ce script a fonctionné avant que je ne le déménage sur le NAS Lorsque j'exécute le script complet dans le navigateur, j'ai une image qui aparait sur l'écran, alors que normalement, çà devrait être du code XML, ce qui me fait dire que la fonction GetVarDeviceIcon n'est pas exécutée correctement. Merci eibd sur NAS QNAP TS-4xx - Ben - 09/04/2011 Bonjour, > Pour les GA à base de dimmer, je n'y arrive pas, je pense que j'ai un > problème d'encapsulation dans la ligne ci-dessous > $menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status= > $status&icon_on=$icon_on&icon_off=$icon_off</URL>\n"; Essaie avec "&" à la place de "&". Cette simplification devrait fonctionner. Ben eibd sur NAS QNAP TS-4xx - marc.assin - 09/04/2011 On 9 avr, 11:11, Ben <tmt....@gmail.com> wrote: > Essaie avec "&" à la place de "&". Merci pour le tuyau, mais il ne veut rien entendre. J'arrive au bout du rouleau eibd sur NAS QNAP TS-4xx - Ben - 09/04/2011 > $menu .= "<URL>http://$server/Cisco/icones/GetVarDeviceIcon?status= > $status&icon_on=$icon_on&icon_off=$icon_off</URL>\n"; Essaie en déspécialisant l'url comme ceci : $menu .= "<URL><![CDATA[http://$server/Cisco/icones/GetVarDeviceIcon? status=$status&icon_on=$icon_on&icon_off=$icon_off]]></URL>\n"; Ben eibd sur NAS QNAP TS-4xx - marc.assin - 10/04/2011 On 9 avr, 22:01, Ben <tmt....@gmail.com> wrote: > Essaie en déspécialisant l'url comme ceci : Hélas Je me vois forcé d'abandonner le projet...si près du but. Le plus frustrant, c'est que tout çà a fonctionné sur une autre platforme Merci eibd sur NAS QNAP TS-4xx - marc.assin - 10/04/2011 J'ai re-déménagé mon appli sur une platforme Intel Toshiba Tecra, OpenSuSe, Câble RS232 vers un I/F série Hager . eibd tourne et est configuré pour une porte RS232. groupswrite marche du premier coup. l'appli tf aussi Pour les conclusions, c'est une autre histoire: pas le même serveur web, ni PHP, ni php.ini, ni OS. On peut juste exclure le script php et le tf qui sont restés les mêmes... eibd sur NAS QNAP TS-4xx - marc.assin - 11/04/2011 On 10 avr, 18:14, "marc.assin" <raym...@warichet.com> wrote: > Pour les conclusions, c'est une autre histoire: pas le même serveur > web, ni PHP, ni php.ini, ni OS. Quelqu'un a une suggestion pour les paramètres du php.ini ? ou une autre idée ? Je me focalise sur php.ini car je ne crois pas que ce soit un problème eibd (le fait qu'il tourne en RS232 ou IP ne devrait rien changer) eibd sur NAS QNAP TS-4xx - Ben - 11/04/2011 > Quelqu'un a une suggestion pour les paramètres du php.ini ? ou une > autre idée ? Dans le php.ini, essaie en mettant register_globals = On eibd sur NAS QNAP TS-4xx - marc.assin - 11/04/2011 On 11 avr, 18:37, Ben <tmt....@gmail.com> wrote: > Dans le php.ini, essaie en mettant > register_globals = On Hélas. Est-ce qu'il peut y avoir des paramètres autres que dans le php.ini ? Je pense que non, vu qu'il n'y a qu'une seule ligne dans le script php qui pose problème, mais on ne sait jamais .... eibd sur NAS QNAP TS-4xx - Ben - 11/04/2011 Si tu ré-actives le debug, qu'obtiens-tu comme message d'erreur ? As-tu essayer de bien séparer les variables dans ta chaîne comme ceci ? $menu .= "<URL>http://".$server."/Cisco/icones/GetVarDeviceIcon? status=".$status."&icon_on=".$icon_on."&icon_off=". $icon_off."</URL>\n"; eibd sur NAS QNAP TS-4xx - marc.assin - 12/04/2011 On 12 avr, 00:17, Ben <tmt....@gmail.com> wrote: > Si tu ré-actives le debug, qu'obtiens-tu comme message d'erreur ? Je vais re-essayer, mais en fait, je n'ai pas de message d'erreur. Le résultat n'est pas bon, en ce sens que lorsque j'essaye le script avec mon navigateur, j'ai une image png affichée sur l'écran, au lieu d'un fichier xml en texte clair (ce xml est à destination du tf) > As-tu essayer de bien séparer les variables dans ta chaîne comme > ceci ? Oui, j'avais déja essayé, sans résultat, j'ai recommencé .... hélas.... Je pense que la solution est effectivement en rapport avec ton idée. Quelque part, une variable est interprêtée pour son contenu au lieu de rester un littéral (et apparaitre en texte dans le fichier xml généré par le php). Le problème n'apparait que dans les scripts "dimmer" (pas dans les scripts éclairage On/Off). Dans les scripts "dimmer" plusieurs fonctions sont appelées en cascade, alors est-ce que les paramètres sont bien passés de l'un à l'autre ? (et retour du résultat) Est-ce qu'il y a des précautions particulières à prendre dans ce cas de figure ? Est-ce qu'il y a un paramètre php.ini qui concerne cet aspect ? Merci |