Bonjour,
J'ai une machine A sur laquelle j'ai créé un site web en php. Dans une de mes pages, le script doit lancer un programme perl qui se connecte à une machine B pour lancer un 3e programme( qui ne peut etre que sur cette machine). Si je lance mon programme perl direct depuis la console, c ok.
Si je le lance depuis ma page web, la connexion vers la machine B ne se fait apparemment pas.
Quelqu'un sait comment faire?
PS: j'ai généré des clefs publiques pour eviter les mots de passe.
je connais pas mod_perl, c'est quoi?
De toute facon, seule la connexion vers une machine externe ne marche pas, tous les autres scripts marchent a condition de rester sur la meme machine
Voila le code dans mes 2 programme:
- php
...
exec ("./perl/connexion_ui.pl" );
...
(le reste n'a rien a voir avec ce lancement de programme)
- perl
...
my $user="blast";
my $home_ui="/home/blast";
my $fichier="fichier.txt";
my $ui="clrinfomat.###.fr (dsl c au boulot pas le droit de donner entier)
system("ssh ".$user."@".$ui." \"ls $home_ui > $home_ui/$fichier\" " );
...
Si je lance mon perl en ligne de commande ca marche.
En fait..... Non!
Que je mette ce type de chemin ou que je mette le chemin absolu, le problème reste le même.
De plus, si je lance (de cette manière ou en utilisant le chemin absolu) un programme perl ne se connectant pas à une autre machine (par exemple un programme faisant la même chose mais sur ma machine locale), alors tout fonctionne parfaitement.
Je t'ai dit que le problème ne réside pas dans ma manière de lancer le programme perl, mais dans la connexion ssh vers une machine distante. C'est ça qui ne marche pas.