Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Betulkan 'Operasi SSL gagal dengan kod 1' Ralat Semasa Menggunakan `file_get_contents()` dalam PHP?

Bagaimana untuk Betulkan 'Operasi SSL gagal dengan kod 1' Ralat Semasa Menggunakan `file_get_contents()` dalam PHP?

Barbara Streisand
Lepaskan: 2024-12-25 10:31:17
asal
718 orang telah melayarinya

How to Fix

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");
Salin selepas log masuk

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
Salin selepas log masuk

Penyelesaian:

Untuk menyelesaikan isu ini, pengguna melaksanakan langkah berikut:

  1. Merujuk PHP 5.6 Dokumentasi migrasi OpenSSL di http://php.net/manual/en/migration56.openssl.php.
  2. Ketahui tentang parameter tambahan "verify_peer_name" yang perlu ditetapkan kepada false.
  3. Melaraskan kod PHP mereka untuk memasukkan parameter yang dikemas kini:
$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));
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan