OpenSSL エラー メッセージ: error:0A000126:SSL ルーチン::読み取り中に予期しない eof が発生しました 質問する

OpenSSL エラー メッセージ: error:0A000126:SSL ルーチン::読み取り中に予期しない eof が発生しました 質問する

スクリーンショットはこちら

YII2フレームワークを使用してPHPでウェブサイトを構築しました。file_get_contents($requestUrl, false, stream_context_create($arrContextOptions))を使用すると、次のようなエラーが発生します。エラー:0A000126:SSL ルーチン::読み取り中に予期しない EOF が発生しましたopenssl.cnf ファイルを編集してレガシー プロバイダーを有効にしようとしましたが、成功しませんでした。参考:出典: github.com

どのような助けでもいただければ幸いです。

サーバー: Nginx (nginx/1.18.0) OS: Ubuntu 22.04 LTS PHP: 7.4.29 Openssl: 1.1.1d

ベストアンサー1

このエラーはPHPだけでなく、さまざまな状況で発生するため、ここでは一般的な回答を記載します。他の回答では、すでに上流でソリューションを実装しているソフトウェアをアップグレードすることで問題を解決しています。理由と背景を説明します。ここOpenSSLにリンクしているほとんどのソフトウェアには、新しいopenssl動作のサポートを導入するチケットがあります。例:123現在、Ubuntu 22.04 LTS のcurlバージョンは 7.81.0 で、OpenSSL 3.0.x で予期しない EOF が発生した場合に失敗します。最新のバージョンcurlは 7.88.1 で、問題は解決したようですが、正確なコミットやチケットは見つかりませんでした。Ubuntu 22.04 および古い curl を使用するシステムでの解決策は、たとえば次のように、最新のバージョンを手動でコンパイルしてインストールすることです。ここ

重要なのは、この問題はクライアント側、サーバーに対して何もする必要はありません (特に、ほとんどの場合、それはサードパーティのサーバーであり、正常に動作します)。

要約:

apt remove curl
apt purge curl
apt-get update
apt-get install -y libssl-dev autoconf libtool make
cd /usr/local/src
wget https://curl.haxx.se/download/curl-7.88.1.zip
unzip curl-7.88.1.zip
cd curl-7.88.1
./buildconf
./configure --with-ssl 
make
sudo make install
sudo cp /usr/local/bin/curl /usr/bin/curl
sudo ldconfig
curl -V

おすすめ記事