ホームページ > バックエンド開発 > PHPチュートリアル > PHP 致命的エラーの解決策: 未定義関数 ssh2_connect() の呼び出し

PHP 致命的エラーの解決策: 未定義関数 ssh2_connect() の呼び出し

王林
リリース: 2023-06-22 14:32:01
オリジナル
1422 人が閲覧しました

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 -y
ログイン後にコピー

2.3 コンパイルとインストール

次のコマンドを実行してコンパイルとインストールを行います。

phpize
./configure --with-php-config=/usr/bin/php-config
make && make install
ログイン後にコピー

完了後、次の行を PHP 構成ファイル php.ini に追加します。

extension=ssh2.so
ログイン後にコピー

3. Apache または Nginx サービスを再起動します

ssh2 拡張機能をインストールまたはコンパイルした後、設定を有効にするために Apache または Nginx サービスを再起動する必要があります。

次のコマンドを使用して Apache サービスを再起動します:

apachectl -k restart
ログイン後にコピー

次のコマンドを使用して Nginx サービスを再起動します:

nginx -s reload
ログイン後にコピー

4. SSH2 拡張機能が有効かどうかを確認します

最後に、コマンド php -m | grep ssh2 を使用して、ssh2 拡張機能が有効になっているかどうかを再確認します。出力は次のようになります:

ssh2
ログイン後にコピー
ログイン後にコピー
出力が空の場合は、再度確認する必要がありますSSH2 拡張機能が正しくインストールされているかどうかを確認し、それが PHP 構成ファイル php にあることを確認します。ini に extension=ssh2.so 行が含まれています。

概要

上記の手順により、「PHP 致命的エラー: 未定義関数 ssh2_connect() の呼び出し」というエラー メッセージを解決できます。このエラーを回避するには、サーバーのインストール時に ssh2 拡張機能をインストールして、リモート サーバーへの接続を容易にすることをお勧めします。

以上がPHP 致命的エラーの解決策: 未定義関数 ssh2_connect() の呼び出しの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート