45

以下は私のスクリプトです:

    <?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');
    ?>

次のエラーが表示されます。

Fatal error: Call to undefined function ssh2_connect() in /home/chaosnz/public_html/fotosnap.net/test.php on line 2

どうすればこれに対処できますか?

ありがとう

4

10 に答える 10

26

正直なところ、純粋な 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');
?>

移植性が大幅に向上し、使いやすく、機能も充実しています。

于 2013-01-02T21:01:57.660 に答える
26

SSH2 PECL 拡張機能をインストールしましたが、問題なく動作しています。ご協力いただきありがとうございます...

于 2012-12-27T06:41:04.330 に答える
13

ssh2 libをインストールする必要があります

sudo apt-get install libssh2-php && sudo /etc/init.d/apache2 restart

それはあなたを道に連れて行くのに十分なはずです

于 2015-05-06T13:41:55.990 に答える
8

OSX で bomebrew を実行している場合、以下を使用してインストールしました。

brew install php56-ssh2

それは私のために働いた。ここから引っ張ってきました。Macポートを使用するUbuntuとOSXもあるはずです。

于 2015-10-07T17:05:53.537 に答える
3

開発環境として CentOS 5.6 を実行していますが、次のように動作しました。

su -
pecl install ssh2
echo "extension=ssh2.so" > /etc/php.d/ssh2.ini

/etc/init.d/httpd restart
于 2013-10-31T13:37:32.643 に答える