Ich habe Apache auf meinem Rechner installiert, damit ich localhost als PHP-Server verwenden kann. Das funktioniert. Im Moment versuche ich mit PHP Dateien über SFTP zu einem anderen Server zu senden. Ich schaute mich ein bisschen um und sah, dass phpseclib empfohlen wurde. Ich kann nicht herausfinden, wie man phpseclib installiert. Hier sind die Zeilen, die die Website gab:
%Vor%Sie müssen den Include-Pfad festlegen.
Ich verstehe, was diese Worte bedeuten, aber ich konnte es nicht zum Laufen bringen. Ich benutze einen Mac. Mein Server ist in /Users/diego/Sites/
. Wo genau muss ich den Ordner phpseclib
einfügen? Welche Zeilen muss ich in meine PHP-Datei einfügen, damit phpseclib
enthalten ist?
Ich habe es funktioniert, indem ich PEAR installiert habe, dieses Handbuch
Indem ich dem obigen Leitfaden folgte, fand ich heraus, dass apache2 in meinem php.ini
-Ordner nach /etc/
suchte. Aber ich stieß auf ein Problem. In meinem /etc/
Ordner war keine php.ini
Datei. Aber da war php.ini.defualt
. Also habe ich ' php.ini.default
bis php.ini
gespeichert und dann den include_path geändert.
PHP gibt keinen Fehler mehr aus, der besagt, dass phpseclib
nicht gefunden werden kann.
Ich habe versucht, phpseclib auf dem Linux-Rechner zu installieren. Es hat perfekt für mich funktioniert. Ich hoffe du brauchst eine ähnliche Konfiguration auf deinem Mac.
Auf dem Linux-Server folgenden Befehl ausführen.
%Vor%Führen Sie auf dem Mac mit dem Mac-Port folgenden Befehl aus sudo port -v Selbstaktualisierung sudo port installiere php54-ssh2
%Vor%Unter Mac verwenden Sie homebrew den folgenden Befehl. Brauen installieren php54-ssh2
Laden Sie phpseclib library herunter und fügen Sie sie in Ihr Projektverzeichnis ein.
Fügen Sie in der entsprechenden PHP-Datei folgenden Code hinzu.
%Vor% set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
fügt phpseclib als relativen Pfad hinzu. Das heißt, include('Net/SFTP.php')
enthält phpseclib/Net/SFTP.php
, aber das ist relativ zu Ihrem Arbeitsverzeichnis.
PEAR hat oft einen absoluten Pfad im include_path. Das kannst du also versuchen. Setzen Sie phpseclib in ein Verzeichnis (prob außerhalb des Dokumentstammverzeichnisses) und setzen Sie dieses Verzeichnis dann in Ihren include_path.
Beachten Sie, dass dies mehr zählt, wenn Sie phpseclib von sourceforge.net heruntergeladen haben oder wenn Sie in der 1.0-Zweigstelle sind.
Danke an Diego, für den Hinweis, PEAR zu installieren. Ich habe es mit den folgenden Schritten funktioniert:
Installiere zuerst PEAR .
%Vor%Wenn der Befehl wget nicht funktioniert, installieren Sie das Paket, damit es funktioniert.
%Vor%Nachdem PEAR erfolgreich installiert wurde, konfigurieren Sie es mit diesem Handbuch .
Die Datei php.ini
kann in /etc/php5/apache2
gefunden werden. Sie müssen diese Datei ändern.
Plötzlich habe ich die neue Bibliothek getestet. Aber ich habe stattdessen eine Reihe von Fehlern, wie in diesem stackoverflow-Beitrag beschrieben. Für dieses Problem habe ich die Lösung dafür gefunden, in diesem stackoverflow post .