인증서 불일치로 인해 PHPMailer에서 PHP 경고 표시
PHPMailer 사용자는 PHP 5.6에서 SMTP 호스트에 연결할 때 경고가 표시될 수 있습니다.
PHP Warning: stream_socket_enable_crypto(): Peer certificate did not match expected
이 경고는 SSL 인증서를 엄격하게 확인하는 PHP 5.6의 보안 강화로 인해 발생합니다. 경고는 SMTP 호스트가 제시한 인증서가 해당 호스트의 예상 인증서와 일치하지 않음을 나타냅니다.
근본 원인:
SMTP 호스트가 인증서를 제시할 때 불일치가 발생합니다. 예상 호스트 이름과 일치하는 CN(일반 이름)이 없는 인증서입니다. 예를 들어 mx1.sub4.homie.mail.dreamhost.com에 연결 중이고 인증서 CN이 *.mail.dreamhost.com인 경우 PHP는 경고를 발생시킵니다.
해결책:
이 문제를 해결하려면 두 가지 접근 방식이 있습니다.
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
참고: 인증서 확인을 비활성화하는 것은 권장되지 않으며 임시 해결 방법으로만 사용해야 합니다.
결론:
PHP "stream_socket_enable_crypto(): 피어 인증서가 예상과 일치하지 않습니다."라는 경고는 SMTP 호스트에 연결하여 인증서를 업데이트하거나 PHPMailer가 인증서 확인을 무시하도록 구성하여 해결할 수 있습니다. 권장되는 해결 방법은 SMTP 호스트가 호스트 이름과 일치하는 유효한 인증서를 제공하도록 하는 것입니다.
위 내용은 PHPMailer가 PHP 5.6의 인증서 불일치에 대한 PHP 경고를 표시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!