ホームページ > バックエンド開発 > PHPチュートリアル > PHP で `file_get_contents()` を使用するときに発生する「SSL 操作がコード 1 で失敗しました」エラーを修正する方法

PHP で `file_get_contents()` を使用するときに発生する「SSL 操作がコード 1 で失敗しました」エラーを修正する方法

Barbara Streisand
リリース: 2024-12-25 10:31:17
オリジナル
626 人が閲覧しました

How to Fix

file_get_contents() による SSL 問題のトラブルシューティング

PHP 5.6 では、OpenSSL 処理に変更が導入され、「SSL」のようなエラーが発生することがありました。操作はコード 1 で失敗しました。」ユーザーから報告されたこのようなインスタンスの 1 つは、file_get_contents() を使用して REST サービスにアクセスしようとしたときに発生しました。

問題の説明:

ユーザーは、実行中にエラーが発生しました。 file_get_contents() 経由で REST サービスからデータを取得しようとしています:

$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json");
ログイン後にコピー

エラー メッセージ表示:

Warning: file_get_contents(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
ログイン後にコピー

解決策:

この問題を解決するには、ユーザーは次の手順を実行しました:

  1. PHP 5.6 を参照OpenSSL 移行ドキュメント: http://php.net/manual/en/migration56.openssl.php.
  2. false に設定する必要がある追加の「verify_peer_name」パラメータについて学習しました。
  3. PHP コードを調整しました更新されたパラメータを含めるには:
$arrContextOptions=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);

$response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json", false, stream_context_create($arrContextOptions));
ログイン後にコピー

重要注:

ユーザーは、SSL 検証を無効にすることによるセキュリティへの影響を認めました。これは、ユーザーがリスクを十分に理解しており、他に実行可能な構成オプションがない場合にのみ実行してください。セキュリティを最適化するには、デフォルトで SSL 証明書の検証を有効にします。

以上がPHP で `file_get_contents()` を使用するときに発生する「SSL 操作がコード 1 で失敗しました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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