Mir ist auch komisch vorgekommen, dass 2 Pfade existieren.
Ich gehe jetzt aber von dem
C:\IP-Symcon\scripts
et Pfad aus und rufe das Script so auf
include('Net/SFTP.php');
$ssh = new Net_SSH2('192.168.123.10');
if (!$ssh->login('user', '12345')) {
exit('Login Failed');
}
Neue Fehlermeldung ist
Fatal error: Uncaught Error: Class ‚Math_BigInteger‘ not found in C:\IP-Symcon\scripts\Net\SSH2.php:1659
Stack trace: #0 C:\IP-Symcon\scripts\Net\SSH2.php(1255): Net_SSH2->_key_exchange() #1 C:\IP-Symcon\scripts\Net\SSH2.php(2210): Net_SSH2->_connect() #2 C:\IP-Symcon\scripts\Net\SSH2.php(2194): Net_SSH2->_login(‚user‘, ‚12345‘) #3 C:\IP-Symcon\scripts\41857.ips.php(10): Net_SSH2->login(‚user‘, ‚12345‘) #4 {main}
thrown in C:\IP-Symcon\scripts\Net\SSH2.php on line 1659
Abort Processing during Fatal-Error: Uncaught Error: Class ‚Math_BigInteger‘ not found in C:\IP-Symcon\scripts\Net\SSH2.php:1659
Stack trace: #0 C:\IP-Symcon\scripts\Net\SSH2.php(1255): Net_SSH2->_key_exchange() #1 C:\IP-Symcon\scripts\Net\SSH2.php(2210): Net_SSH2->_connect() #2 C:\IP-Symcon\scripts\Net\SSH2.php(2194): Net_SSH2->_login(‚user‘, ‚12345‘) #3 C:\IP-Symcon\scripts\41857.ips.php(10): Net_SSH2->login(‚user‘, ‚12345‘) #4 {main}
thrown
Error in Script C:\IP-Symcon\scripts\Net\SSH2.php on Line 1659
In der Zeile 1659 von SSH2.php steht
$g = new Math_BigInteger(2);
Die Datei C:\IP-Symcon\scripts\math\BigInteger.php existiert.
Soll ich versuchen net_php komplett neu einzubinden?
Schau mal in die SSH2.php rein im Constructor siehst du dort, wie die Klasse eingebunden wird.
Was steht da? Ich denke irgendwas passt bei dir mit den Pfaden nicht.
Der Thread ist zwar älter… ich hoffe mir kann jemand helfen.
Ich will künftig mein IPS System auf Windows umziehen und teste im Moment auf einem frischen IPS SSH. Bei der alten Installation
auf RPI waren alle PHP’s also ssh2, bininteger, usw direkt im Script Verzeichnis, also eine Menge Dateien… ich muss zugeben, ich kenne mich mit den Includes nicht richtig aus., aber es ist gelaufen…
Nun habe ich folgendes gemacht:
phpseclib3 frisch runtergeladen und unter scripts in ein libs Verzeichnis gepackt:
C:\ProgramData\Symcon\scripts\libs
dort liegen die ganzen Verzeichnisse mit den PHP Libs.
eingebunden habe ich es mit u.a.Include… danach kommt aber beim Ausführen die u.a. Fehlermeldung mit einer Klasse, auch das sagt mir leider nichts…
Bitte um kurze Hilfestellung, ich habe im Forum viel gelesen komme aber nicht auf die Lösung.
<?php
echo IPS_GetKernelDir();
include(IPS_GetKernelDir().'scripts\libs\phpseclib3\Net\SSH2.php');
$ssh = new NET_SSH2('192.168.1.72');
if (!$ssh->login('user', 'pw')) {
exit('Login Failed');
}
Es kommt folgende Fehlermeldung nach dem Ausführen:
C:\ProgramData\Symcon\
Fatal error: Uncaught Error: Class 'NET_SSH2' not found in C:\ProgramData\Symcon\scripts\41565.ips.php:6
Stack trace:
#0 {main}
thrown in C:\ProgramData\Symcon\scripts\41565.ips.php on line 6
hier http://phpseclib.sourceforge.net/ wird auch noch die alte 1.0.19 angeboten Ich habe noch die 1.0.18 im Einsatz die ebenfalls problemlos funktioniert. Diese Versionen müssen einfach im scripts Verzeichnis entpackt werden.
@paresy Gibt es aus eurer Sicht einen Grund auf die V 3 zu wechseln?
findet er alle Bibliotheken und es funktioniert. Danke !!
Kann ich diesen Befehl irgendwo zentral hinterlegen, damit ich nicht in jedem PHP Script das SSH nutzt das einbinden muss?
@paresy
Danke für den Hinweis, ich dachte wenn ich alles Neu mache dann auch die neuste Version… mhm dann versuche ich das mal mit der alten Version
@PC Oldie
die phpseclib ist ja eigentlich im Ordner phpseclib, muss ich dann alle Ordner aus diesem in das Script Verzeichnis kopieren, also Math, Net, Crypt etc… ??
Ich danke Euch für die Hilfe… man muss wohl nicht immer alles NEU haben:D
Moin, alles klar, es geht mit dem o.g Kommando und Einbindung in das _autoload.php, damit habe ich im Scripte Verzeichnis nur den Ordner phpseclib, ist für micht aufgeräumter