ssh2_connect не определен в Debian
У меня есть несколько серверов в 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 одинаковы. Вы можете мне помочь? Благодарю.
2 ответа
Решение
Я бы просто использовал 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, если вы так склонны. например.