Ciao a tutti!!
Vi prego aiutatemi!! Sono ormai 5 giorni che sbatto la testa su questo problema.
Ho la seguente pagina php (che gira sua apache2.x, php 5.3, Windows server 2003):
<?php
$comando ="C:\prova.bat";
exec("$comando 2>&1 && exit", $ret, $err);
echo "ret: ";
print_r ($ret);
print "
";
echo "err is ";
echo $err;
print "
";
echo "DONE!";
?>
che non fà altro che lanciare un eseguibile prova.bat, che al suo interno riporta questo:
plink.exe -batch -ssh weblogic@10.32.192.19 -pw weblogic -m C:\xampp\htdocs\prova2\comand.txt > C:\cicciociccio.txt
Ossia collegarsi ad una macchina in ssh tramite plink e lanciare un comando (che si trova all'interno di comand); plink dovrebbe riportarmi semplicemente la parola LISTEN ma io sulla pagina traccio quanto segue:
ret: Array ( [0] => [1] => C:\xampp\htdocs\prova2>plink.exe -batch -ssh weblogic@10.32.192.19 -pw weblogic -m C:\xampp\htdocs\prova2\comand.txt 1>C:\cicciociccio.txt [2] => The server's host key is not cached in the registry. You [3] => have no guarantee that the server is the computer you [4] => think it is. [5] => The server's rsa2 key fingerprint is: [6] => ssh-rsa 2048 73:52:57:53:7b:d5:58:35:4b:e4:cb:e6:9e:d7:b0:29 [7] => Connection abandoned. )
err is 0
DONE!
Quindi sembrerebbe che plink non trovi la chiave (già accettata precedentemente) nel registro di sistema; fino qui sembra tutto abbastanza normale ma il problema sorge quando io provo a lanciare prova.bat facendo direttamente doppio click (sul file prova.bat stesso) e tutto funziona correttamente (all'interno di cicciociccio.txt trovo la parola LISTEN).
Non capisco se uso male il comando exec o c'è qualcosa che sbaglio nel codice.
Vi prego aiutatemi perchè ormai non sò più che fare!!!!!![]()
![]()
![]()
![]()