У меня есть несколько серверов в Debian 6.0.8 с версией PHP на 5.3.28-1 ~ dotdeb.0.
Я сделал apt-get install libssh2-php для каждого.
Когда вы сделали php -v, у меня есть openssl и ssh2 в списке на каждом.
Я уже перезапустил Apache после этого.
Но когда я запускаю скрипт php с вызовом ssh2_connect (), он не работает на 2 серверах, но работает на другом сервере.
У меня ошибка: «вызов неопределенной функции ssh2_connect ().»
Я не понимаю, версия Debian и версия PHP одинаковы.
Вы можете мне помочь ?
Благодарю.
В упакованных дистрибутивах, таких как Debian и EL, «неосновные» части PHP упакованы отдельно. В версиях Debian вы должны иметь php5-ssh2 пакет установлен.
sudo apt-get установить php5-ssh2
Я бы просто использовал phpseclib, чистую реализацию PHP SSH. например.
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
echo $ssh->exec('ls -la');
?>
phpseclib имеет ряд преимуществ перед libssh2. Вы также можете использовать phpseclib для эмуляции функций libssh2, если вы так склонны. например.