以下是我的脚本:
<?php
$connection = ssh2_connect('XX.XX.XX.XX', 22);
ssh2_auth_password($connection, 'root', '******');
$stream = ssh2_exec($connection, 'useradd -d /home/users/test -m testftp');
$stream = ssh2_exec($connection, 'passwd testftp');
$stream = ssh2_exec($connection, 'password');
$stream = ssh2_exec($connection, 'password');
?>
Run Code Online (Sandbox Code Playgroud)
它显示以下错误:
Fatal error: Call to undefined function ssh2_connect() in /home/chaosnz/public_html/fotosnap.net/test.php on line 2
Run Code Online (Sandbox Code Playgroud)
我怎么处理这个?
谢谢
rav*_*oni 20
我已经安装了SSH2 PECL扩展,它工作正常,感谢所有帮助...
neu*_*ert 20
老实说,我建议使用纯PHP SSH2实现的 phpseclib .例:
<?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');
?>
Run Code Online (Sandbox Code Playgroud)
它更便携,更易于使用,功能更强大.
我已经在ubuntu 16.4 PHP 7.0.27-0 + deb9u和nginx上解决了这个问题
sudo apt install php-ssh2
Run Code Online (Sandbox Code Playgroud)
小智 8
如果您在OSX上运行bomebrew,我使用以下内容来安装它:
brew install php56-ssh2
Run Code Online (Sandbox Code Playgroud)
这对我有用.我从这里拉了它.还应该有使用mac端口的Ubuntu和OSX.