Menyelesaikan "stream_socket_enable_crypto(): Operasi SSL Gagal dengan Ralat Kod 1"
Ralat "stream_socket_enable_crypto()" menunjukkan kegagalan dalam SSL / komunikasi TLS. Walaupun mesej ralat mencadangkan isu pengesahan sijil, adalah penting untuk memahami punca asas dan melaksanakan penyelesaian yang sesuai.
Punca Ralat
Isu ini sering berpunca daripada menggunakan sijil SSL yang ditandatangani sendiri atau menghadapi ralat pengesahan nama hos. Secara lalai, PHP 5.6 mengesahkan ketulenan sambungan SSL, yang boleh menimbulkan isu dengan sijil yang belum dikeluarkan dengan betul atau dengan nama hos yang tidak sepadan dengan sijil.
Penyelesaian
Untuk menyelesaikan ralat ini, anda boleh melumpuhkan pengesahan SSL sambil mengekalkan sambungan selamat. Ini boleh dilakukan dengan menambahkan kod berikut pada fail 'config/mail.php':
<code class="php">'stream' => [ 'ssl' => [ 'allow_self_signed' => true, 'verify_peer' => false, 'verify_peer_name' => false, ], ],</code>
Kod ini mengarahkan PHP untuk menerima sijil yang ditandatangani sendiri dan melumpuhkan pengesahan nama hos. Walaupun penyelesaian ini akan membetulkan isu segera, adalah penting untuk ambil perhatian bahawa ia membawa implikasi keselamatan.
Pertimbangan Keselamatan
Melumpuhkan pengesahan SSL menghapuskan perlindungan asas yang melindungi daripada Manusia serangan -in-the-Middle (MITM). Tanpa pengesahan, anda menjadi terdedah kepada bakal penyerang yang boleh menyamar sebagai titik akhir yang dipercayai dan memintas data sensitif.
Oleh itu, adalah penting untuk mempertimbangkan kebimbangan keselamatan ini dengan teliti sebelum melaksanakan penyelesaian ini. Jika boleh, dapatkan sijil SSL yang dikeluarkan dengan betul dan pastikan nama hos sepadan untuk mengurangkan risiko yang berkaitan dengan pengesahan SSL yang dilumpuhkan.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'stream_socket_enable_crypto(): Operasi SSL Gagal dengan Ralat Kod 1\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!