Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Betulkan 'Operasi SSL gagal dengan kod 1' Ralat Semasa Menggunakan `file_get_contents()` dalam PHP?
Menyelesaikan Masalah SSL dengan file_get_contents()
Dalam PHP 5.6, perubahan telah diperkenalkan kepada pengendalian OpenSSL yang kadangkala membawa kepada ralat seperti "SSL operasi gagal dengan kod 1." Satu contoh sedemikian, seperti yang dilaporkan oleh pengguna, berlaku apabila cuba mengakses perkhidmatan REST menggunakan file_get_contents().
Penerangan Masalah:
Pengguna mengalami ralat semasa cuba mendapatkan semula data daripada perkhidmatan REST melalui file_get_contents():
$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");
Mesej ralat dipaparkan:
Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Penyelesaian:
Untuk menyelesaikan isu ini, pengguna melaksanakan langkah berikut:
$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));
Penting Nota:
Pengguna mengakui implikasi keselamatan melumpuhkan pengesahan SSL. Ini hanya perlu dilakukan jika pengguna memahami sepenuhnya risiko dan tidak mempunyai pilihan konfigurasi lain yang berdaya maju. Untuk keselamatan optimum, dayakan pengesahan sijil SSL secara lalai.
Atas ialah kandungan terperinci Bagaimana untuk Betulkan 'Operasi SSL gagal dengan kod 1' Ralat Semasa Menggunakan `file_get_contents()` dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!