14

この http://fr2.php.net/manual/en/book.ssh2.php を Centos 5 (RHEL 5 のフォーク) にインストールしようとしています。

/usr/lib にある libssh2 (yum install libssh2) をインストールしました。SSH2 拡張機能を (pecl install -f ssh2 経由で) インストールすると、このメッセージが表示されます。

デフォルト パスで ssh2 ファイルをチェックしています... 構成が見つかりません: エラー: 必要な libssh2 ライブラリが見つかりませんでした。そのパッケージはhttp://sourceforge.net/projects/libssh2/から入手できます 。エラー: `/tmp/pear/download/ssh2-0.11.0/configure --with-ssh2=/usr' failed

/usr/lib を設定すると、同じメッセージが表示されます

エラー: `/tmp/pear/download/ssh2-0.11.0/configure --with-ssh2=/usr/lib' が失敗しました

問題はどこだ?

4

7 に答える 7

11
$ sudo pecl channel-update pecl.php.net
$ sudo apt-get install libssh2-1-dev
$ sudo pecl install -a ssh2-0.12
$ echo 'extension=ssh2.so' | sudo tee /etc/php5/mods-available/ssh2.ini > /dev/null
$ sudo php5enmod ssh2
于 2015-10-28T01:34:17.377 に答える
2

yum install libssh2-devel私にとってはうまくいきませんでした:

パッケージ libssh2-devel はありません。

だから私はrpmfindからrpmパッケージをダウンロードし、インストールしましたrpm -ivh

その後、ちょうど追加されましextension=ssh2.so/etc/php.d/ssh2.ini

于 2016-01-08T14:51:25.143 に答える
1

私はCentosで実行していますが、これらの答えはどれも私にとって完全な解決策ではありませんでした. 私はこれらの指示に従いました:

$ sudo yum install -y gcc php-devel php-pear libssh2 libssh2-devel

しかしphp-devel、競合について不平を言って、インストールしませんでした。yum を検索して、利用可能な php devel パッケージを見つけました

$> yum search php|grep devel
...
php55u-devel.x86_64 : Files needed for building PHP extensions
php56u-devel.x86_64 : Files needed for building PHP extensions
php70u-devel.x86_64 : Files needed for building PHP extensions
...

だから私は走った

$> sudo yum install -y php56u-devel

そして、それはきれいにインストールされました。それから、指示を続けて、私は走りました

$ pecl install -f ssh2

そしてコンパイルしました。次に、拡張機能をphpに追加しました

$ touch /etc/php.d/ssh2.ini
$ echo extension=ssh2.so > /etc/php.d/ssh2.ini

そして私のシステムでは、代わりに

$ /etc/init.d/httpd restart

私がしなければなりませんでした

$ sudo /bin/systemctl restart  php-fpm.service 

これで、インストールするすべての手順が完了しました。そして最後に確認します:

$> php -m|grep ssh2
ssh2
于 2016-08-04T15:25:42.530 に答える
0

私はこの問題を抱えていました:

私は Pair.com の「Advanced」ホスト アカウントを使用しているため、できることは少し限られています。私は、他のプリコンパイルされたパッケージもできyumないと思います。aptitude

libssh2 をダウンロードしてコンパイルしました。プロセス中peclに、ライブラリの場所を尋ねられます。「~/usr/local/lib」にあり、完全修飾を含むいくつかのバリエーションを試しました。しかし、同じエラーが発生し続けました。

エラー メッセージには、探しているファイルが正確に示されていません。libssh2.so はそのディレクトリにあります。出力が ssh2.so であることはわかっています。ss2.something または libssh.nothing があるはずなのだろうか?

このように修正しました。私の場合、libssh2 をコンパイルした後、PEAR tarball をダウンロードしました。トリックは次のとおりです。

./configure --with-ssh2=<libssh2 location> --prefix=<libssh2 location>

もう 1 つのトリックは、Pair.com が FreeBSD を実行しているため、"cd" を実行する必要があることです。./configure コマンドの後。それ以外の場合、make は「許可が拒否されました」というエラーを生成します。どうやら、これはすべての *nix BSD フレーバーで必要です。

于 2010-06-18T17:51:51.163 に答える