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 одинаковы.
Вы можете мне помочь ?
Благодарю.

0

Решение

В упакованных дистрибутивах, таких как Debian и EL, «неосновные» части PHP упакованы отдельно. В версиях Debian вы должны иметь php5-ssh2 пакет установлен.

sudo apt-get установить php5-ssh2

1

Другие решения

Я бы просто использовал 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, если вы так склонны. например.

https://github.com/phpseclib/libssh2-compatibility-layer

1

По вопросам рекламы [email protected]