1

PHP 5.1.6 を使用して CentOS 5 を実行している Web サーバーに PHP 用の SSH2 ライブラリをインストールしようとして、すべての依存関係を正常にインストールできましたが、Web サーバーを再起動すると、次のエラーが表示されます。

PHP 警告: PHP の起動: 動的ライブラリ '/usr/lib64/php/modules/ssh2.so' を読み込めません - libssh2.so.1: 共有オブジェクト ファイルを開けません: 行 0 の不明にそのようなファイルまたはディレクトリはありません

誰もこれに遭遇したことがありますか?ssh2.so ファイルは「/usr/lib64/php/modules/ssh2.so」に存在し、他のすべての拡張子 (-rwxr-xr-x) と同じファイル許可を持っています。

ありがとう

4

2 に答える 2

-1

たぶん、純粋なPHP SSH実装である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');
?>
于 2012-03-29T12:25:27.817 に答える
-1

エラーの鍵は次のとおりです。

libssh2.so.1: cannot open shared object file: No such file or directory

ssh2.so ファイルが見つかりません。これを実行すると、私が何を意味するかがわかります。

ldd /usr/lib64/php/modules/ssh2.so

これを試して:

updatedb
locate libssh2.so.1

見つかった場合は、/usr/lib64/ 内にシンボリック リンクを作成する必要があるかもしれません。

それでも見つからない場合は、簡単な Google 検索で、centos5 上の libssh2 のヒットとしてこれが表示されます。

http://centos.karan.org/el5/extras/testing/x86_64/RPMS/libssh2-0.18-10.el5.kb.x86_64.rpm

それをインストールし、apache を再起動して、もう一度試してください。

于 2012-03-29T04:11:01.000 に答える