Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme bei der Einbindung von phpseclib

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Probleme bei der Einbindung von phpseclib

    Hi,

    folgendes funktioniert:
    PHP-Code:
    <?php
    include('/usr/bin/php-extension/phpseclib/Net/SSH2.php');

    $ssh = new Net_SSH2('10.0.0.2');
    if (!
    $ssh->login('d''d')) {
        exit(
    'Login Failed');
    }

    echo 
    $ssh->exec('ls -la');

    ?>
    Nun möchte ich die Datei benutzen.
    PHP-Code:
     include('/root/PhpstormProjects/JsonToXML/SSHAufruf/phpseclib/sshtest.php');
        echo 
    $ssh->exec('ls -la'); 
    Aber da erhalte ich den folgenden Fehler. Was mache ich falsch???

    Code:
    PHP Warning:  include_once(Math/BigInteger.php): failed to open stream: No such file or directory in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 943
    PHP Warning:  include_once(): Failed opening 'Math/BigInteger.php' for inclusion (include_path='.:/usr/share/php') in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 943
    PHP Warning:  include_once(Crypt/Random.php): failed to open stream: No such file or directory in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 947
    PHP Warning:  include_once(): Failed opening 'Crypt/Random.php' for inclusion (include_path='.:/usr/share/php') in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 947
    PHP Warning:  include_once(Crypt/Hash.php): failed to open stream: No such file or directory in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 951
    PHP Warning:  include_once(): Failed opening 'Crypt/Hash.php' for inclusion (include_path='.:/usr/share/php') in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 951
    PHP Warning:  include_once(Crypt/Base.php): failed to open stream: No such file or directory in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 956
    PHP Warning:  include_once(): Failed opening 'Crypt/Base.php' for inclusion (include_path='.:/usr/share/php') in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 956
    PHP Fatal error:  Uncaught Error: Call to undefined function phpseclib_resolve_include_path() in /usr/bin/php-extension/phpseclib/Net/SSH2.php:1363
    Stack trace:
    #0 /usr/bin/php-extension/phpseclib/Net/SSH2.php(1255): Net_SSH2->_key_exchange()
    #1 /usr/bin/php-extension/phpseclib/Net/SSH2.php(2210): Net_SSH2->_connect()
    #2 /usr/bin/php-extension/phpseclib/Net/SSH2.php(2194): Net_SSH2->_login('d', 'd')
    #3 /root/PhpstormProjects/JsonToXML/SSHAufruf/phpseclib/sshtest.php(5): Net_SSH2->login('d', 'd')
    #4 /root/PhpstormProjects/JsonToXML/getvariable.php(25): include('/root/PhpstormP...')
    #5 {main}
      thrown in /usr/bin/php-extension/phpseclib/Net/SSH2.php on line 1363
    
    Process finished with exit code 255

  • #2
    schon mal versucht mit dem composer zu installieren, so wie bei Github empfohlen?
    'Math/BigInteger.php' 'Crypt/Random.php' 'Crypt/Hash.php' und so wird nicht gefunden, laut dem von Dir Gepostetem.

    Kommentar


    • #3
      Warum liegen deine PHPStorm Projekte im Root Homeverzeichnis?
      Ich nehme jetzt einfach mal an dass das nur zum testen so ist, andernfalls solltest du dich vllt. einmal darüber informieren was der root User ist.
      Eigentlich sollte der Webserver Benutzer auch niemals Zugriff auf das Root Homeverzeichnis haben. Da wirst du vermutlich auch "rumgetrickst" haben.

      Du, bzw. die Erweiterung, versuchst Dateien zu inkludieren die nicht im Inklusionspfad von PHP liegen. Wenn du kurz in die Doku schaust, wirst du sehen dass dort u.a. folgendes steht:
      PHP-Code:
        set_include_path(get_include_path() . PATH_SEPARATOR 'phpseclib'); 
      Hast du es denn damit schon versucht?
      "Software is like Sex, it's best if it's free." - Linus Torvalds

      Kommentar


      • #4
        ich habe es mit composer versucht ja. Allerdings funktioniert die Einbindung einfach nicht. Ich habe es mal ins root verzeichnis gelegt, um Fehler auszuschließen.
        Wenn ich es mittels Composer installiere und dann folgendes versuche, klappt es einfach nicht.
        PHP-Code:
        set_include_path(get_include_path() . PATH_SEPARATOR 'phpseclib');     include('Net/SSH2.php');  $ssh = new Net_SSH2('10.0.0.2'); if (!$ssh->login('d''d')) {     exit('Login Failed'); }  echo $ssh->exec('ls -la'); 
        ich habe es so gemacht:
        Code:
        composer require phpseclib/phpseclib ~2.0
        ./composer.json has been created
        Loading composer repositories with package information
        Updating dependencies (including require-dev)
          - Installing phpseclib/phpseclib (2.0.9)
            Loading from cache
        
        phpseclib/phpseclib suggests installing ext-libsodium (SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.)
        phpseclib/phpseclib suggests installing ext-mcrypt (Install the Mcrypt extension in order to speed up a few other cryptographic operations.)
        phpseclib/phpseclib suggests installing ext-gmp (Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.)
        Writing lock file
        Generating autoload files
        Was fehlt jetzt?

        Kommentar


        • #5
          versuche mal mit
          PHP-Code:
          require_once __DIR__.'/vendor/autoload.php'
          oder wo auch immer du bist den autoloader aufzurufen, der sollte die "not founds" finden.
          Das mit dem pfad im Home vom Root, ich habe es übersehen, ich würde das lassen.
          id 0 nutzt man nur um systemweit zu installieren, und dann bestenfalls auch nur temporär.

          Kommentar


          • #6
            Es ist eine Testumgebung der Liveserver ist ein anderer das ist mein lokaler Ubuntu PC.
            Aber danke, es läuft nun mit dem Tip von tomBuilder.

            Kommentar

            Lädt...
            X