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
解決策:
この問題を解決するには、ユーザーは次の手順を実行しました:
$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 サイトの他の関連記事を参照してください。