Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah panggilan `file_get_contents()` saya gagal dengan 'operasi SSL gagal dengan kod 1,' dan bagaimana saya boleh membetulkannya?

Mengapakah panggilan `file_get_contents()` saya gagal dengan 'operasi SSL gagal dengan kod 1,' dan bagaimana saya boleh membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-19 00:24:10446semak imbas

Why is my `file_get_contents()` call failing with

Operasi SSL Gagal dengan Kod 1: Memahami dan Menangani

Apabila menggunakan file_get_contents() untuk mengakses tapak web selamat, ralat seperti "operasi SSL gagal dengan kod 1" boleh timbul. Ralat ini menunjukkan isu dengan pengesahan sijil atau konfigurasi OpenSSL.

Dalam senario khusus ini, masalah berpunca daripada langkah keselamatan SSL PHP 5.6 yang dipertingkatkan. Untuk menyelesaikan masalah ini, adalah perlu untuk melumpuhkan pengesahan sijil dengan menetapkan verify_peer dan verify_peer_name kepada palsu dalam pilihan konteks permintaan:

$arrContextOptions = array(
    "ssl" => array(
        "verify_peer" => false,
        "verify_peer_name" => false,
    ),
);

$response = file_get_contents($url, false, stream_context_create($arrContextOptions));

Awas: Adalah penting untuk ambil perhatian bahawa melumpuhkan pengesahan sijil boleh mempunyai implikasi keselamatan yang serius, kerana ia membuka kemungkinan serangan man-in-the-middle (MITM). Hanya gunakan penyelesaian ini jika anda memahami sepenuhnya potensi risiko dan tidak mempunyai pilihan lain yang berdaya maju.

Dalam kes yang diterangkan, melumpuhkan pengesahan sijil telah menyelesaikan isu, membolehkan permintaan itu berjaya. Walau bagaimanapun, sentiasa disyorkan untuk menyiasat punca kegagalan SSL dan menanganinya dengan betul untuk memastikan komunikasi selamat.

Atas ialah kandungan terperinci Mengapakah panggilan `file_get_contents()` saya gagal dengan 'operasi SSL gagal dengan kod 1,' dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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