PHP5 SSH2: Systempaket, oder PEAR benutzen?
Es gibt 2 einfache Möglichkeiten SSH2 Unterstützung für PHP zu installieren. Zum einen kann man ein fertiges Paket seiner Distribution verwenden. Bei Debian z.B. wäre es libssh2-php:
apt-get install libssh2-phpBei PECL Paketen kann es vorkommen, dass man mit dem Systempaket eine recht veraltete, von längst behobenen Bugs betroffene, Version erhält.
Die Version 0.11.0, die mit Debian ausgeliefert wird, hat z.B. viele, die Grundfunktionen betreffende, Bugs. Eine Übersicht kann man im Changelog des PECL Paketes sehen.
Es bietet sich deswegen an, die aktuelle Version mittels PEAR zu beziehen. Wenn man ein Systempaket bereits installiert hatte, sollte man es entfernen. Bei Debian geht dies mit:
apt-get remove libssh2-phpDann installiert man das PEAR Paket. Bei Debian mit:
apt-get install php5-dev php-pear libssh2-1 libssh2-1-devBei den Red Hat/CentOS Distributionen:
yum install php-pearDistributionsunabhängig geht es dann weiter mit dem PECL Installer:
pecl install --alldeps ssh2-betaFall noch nicht vorhanden, muss man PHP noch sagen, dass es die Extension laden muss.
Damit es übersichtlich bleibt, erstellt man eine eigene Datei in /etc/php5/conf.d/:
echo "extension=ssh2.so" > /etc/php5/conf.d/ssh2.iniAnschließend den Apache2 neu starten:
/etc/init.d/apache2 restartDie Ausgabe von phpinfo(); sollte nun folgendes enthalten:
Registered PHP Streams (…), ssh2.shell, ssh2.exec, ssh2.tunnel, ssh2.scp, ssh2.sftp