ホームページ >バックエンド開発 >PHPチュートリアル >PHP 致命的エラーの解決策: 未定義関数 ssh2_connect() の呼び出し
SSH2 を使用してリモート サーバーに接続すると、一部のユーザーに「PHP 致命的エラー: 未定義関数 ssh2_connect() の呼び出し」というエラー メッセージが表示され、接続が失敗することがあります。これは、サーバーに ssh2 拡張機能がインストールされていないことが原因です。この記事では、この問題を解決する方法について説明します。
1. SSH2 拡張機能がインストールされているかどうかを確認する
まず、ssh2 拡張機能がサーバーにインストールされているかどうかを確認する必要があります。次のコマンドを使用して確認します。
php -m | grep ssh2
サーバーに ssh2 拡張機能がインストールされている場合、出力は次のようになります。
ssh2
出力が空の場合は、ssh2 拡張機能をインストールする必要があります。 。
2. SSH2 拡張機能のインストール
ssh2 拡張機能をインストールするには、yum コマンドを使用する方法と手動コンパイルを使用する方法の 2 つがあります。
yum コマンドを使用する
次のコマンドを使用してインストールします:
yum install php-pecl-ssh2 -y
インストールが完了したら、Apache または Nginx サービスを再起動します。
手動コンパイル方法
サーバーに yum パッケージ マネージャーがインストールされていない場合は、次の手順を使用して ssh2 拡張機能を手動でコンパイルできます。
2.1 ssh2 ソース コードのダウンロード
PECL Web サイトに移動して、ssh2 拡張機能のソース コードをダウンロードします。
http://pecl.php.net/package/ssh2
ダウンロードする最新バージョン (ssh2-1.3 など) を選択します。ツグズ。ダウンロードが完了したら、ssh2 ソース コード ディレクトリに移動し、次のコマンドを実行します。
tar zxvf ssh2-1.3.tgz cd ssh2-1.3/
2.2 依存関係のインストール
次のコマンドを使用して、ssh2 拡張機能のコンパイルに必要な依存関係をインストールします。 ##
yum install php-devel libssh2 libssh2-devel -y2.3 コンパイルとインストール 次のコマンドを実行してコンパイルとインストールを行います。
phpize ./configure --with-php-config=/usr/bin/php-config make && make install完了後、次の行を PHP 構成ファイル php.ini に追加します。
extension=ssh2.so3. Apache または Nginx サービスを再起動しますssh2 拡張機能をインストールまたはコンパイルした後、設定を有効にするために Apache または Nginx サービスを再起動する必要があります。 次のコマンドを使用して Apache サービスを再起動します:
apachectl -k restart次のコマンドを使用して Nginx サービスを再起動します:
nginx -s reload4. SSH2 拡張機能が有効かどうかを確認します最後に、コマンド php -m | grep ssh2 を使用して、ssh2 拡張機能が有効になっているかどうかを再確認します。出力は次のようになります:
ssh2出力が空の場合は、再度確認する必要がありますSSH2 拡張機能が正しくインストールされているかどうかを確認し、それが PHP 構成ファイル php にあることを確認します。ini に extension=ssh2.so 行が含まれています。 概要上記の手順により、「PHP 致命的エラー: 未定義関数 ssh2_connect() の呼び出し」というエラー メッセージを解決できます。このエラーを回避するには、サーバーのインストール時に ssh2 拡張機能をインストールして、リモート サーバーへの接続を容易にすることをお勧めします。
以上がPHP 致命的エラーの解決策: 未定義関数 ssh2_connect() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。