Mengapa PHPMailer Memancarkan Amaran PHP Mengenai Sijil Tidak Padan dalam PHP 5.6?

Linda Hamilton
Lepaskan: 2024-10-26 23:09:31
asal
666 orang telah melayarinya

Why Does PHPMailer Emit a PHP Warning About a Mismatched Certificate in PHP 5.6?

PHPMailer Mengeluarkan Amaran PHP Kerana Sijil Tidak Padan

Pengguna PHPMailer mungkin menghadapi amaran apabila menyambung ke hos SMTP pada PHP 5.6:

PHP Warning: stream_socket_enable_crypto(): Peer certificate did not match expected
Salin selepas log masuk

Amaran ini berpunca daripada peningkatan keselamatan dalam PHP 5.6, yang mengesahkan sijil SSL dengan ketat. Amaran menunjukkan bahawa sijil yang dikemukakan oleh hos SMTP tidak sepadan dengan sijil yang dijangkakan untuk hos tersebut.

Punca Punca:

Ketidakpadanan berlaku apabila hos SMTP dibentangkan sijil yang tidak mempunyai nama biasa (CN) yang sepadan dengan nama hos yang dijangkakan. Contohnya, jika anda menyambung ke mx1.sub4.homie.mail.dreamhost.com dan sijil CN ialah *.mail.dreamhost.com, PHP akan menaikkan amaran.

Penyelesaian:

Untuk menyelesaikan isu ini, terdapat dua pendekatan:

  1. Hubungi Hos SMTP: Minta hos mengemas kini sijil SSLnya untuk mempunyai CN yang sepadan dengan nama hos yang anda sambungkan. Ini adalah penyelesaian yang disyorkan dan selamat.
  2. Konfigurasikan PHPMailer untuk Mengabaikan Pengesahan Sijil: Anda boleh mengkonfigurasi PHPMailer untuk mengabaikan ketidakpadanan sijil dengan menetapkan SMTPOptions berikut:
$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer'  => false,
        'verify_peer_name'  => false,
        'allow_self_signed' => true
    )
);
Salin selepas log masuk

Nota: Melumpuhkan pengesahan sijil tidak disyorkan dan harus digunakan hanya sebagai penyelesaian sementara.

Kesimpulan:

PHP Amaran "stream_socket_enable_crypto(): Sijil rakan sebaya tidak sepadan dengan jangkaan" boleh ditangani sama ada dengan menghubungi hos SMTP untuk mengemas kini sijil mereka atau dengan mengkonfigurasi PHPMailer untuk mengabaikan pengesahan sijil. Penyelesaian yang disyorkan ialah meminta hos SMTP memberikan sijil yang sah yang sepadan dengan nama hos.

Atas ialah kandungan terperinci Mengapa PHPMailer Memancarkan Amaran PHP Mengenai Sijil Tidak Padan dalam PHP 5.6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!