2017-10-31 1 views
-1

일주일 전에 WAMP의 일부 구성 요소를 PHPMailer로 테스트 중이었고 모든 것이 올바르게 작동했습니다. 다음 날 그것은 단지 작동을 멈췄습니다. WAMP의 구성이 변경되지 않았습니다. 내가 이메일을 보내려고 할 때 다음과 같은 오류를 SMTPDebug을이되어 사용 :WAMP/XAMPP의 SSL 오류 : stream_socket_enable_crypto() : SSL 작업이 실패했습니다.

Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed [C:...\SMTP.php line 404]

I 않았다 WAMP와 XAMPP (I 현재 64 WAMP를 사용)하지만 성공하지, 나도 같은 오류가의 86 버전을 사용하는 다른 시험 .

모든 테스트는 Gmail "덜 안전한 앱 허용"을 사용하여 수행되었습니다.

문서에서 빠른 검색 후 문제가 SSL 인증서의 확인으로 인한 것임을 발견했습니다. 그리고 해결 방법으로 다음 코드를 사용하여이 검사를 건너 뛸 수 있습니다.

$mail->SMTPOptions = array(
    'ssl' => array(
     'verify_peer' => false, 
     'verify_peer_name' => false, 
     'allow_self_signed' => true 
    ) 
); 

그러나 이것은 해결 방법입니다. 나는 문제의 근원이 어디인지 알고 싶었고, 왜 그것이 작동을 멈췄는지 이해하지 못한다. 나는 이미 WAMP/XAMPP 폴더의 인증서를 대체하려고 시도했지만 성공하지는 못했습니다. 또한 광범위한 연구를했지만 결과는 없었습니다. 해결 방법없이 인증서 확인 문제를 해결할 수있는 방법이 있습니까?

답변

1

가능한 중복 : Warning: stream_socket_enable_crypto(): SSL operation failed with code 1이 오류가 올 수 CONFIGS의 많은이

. 그러나 더 자주 시스템의 구성이 제대로 설정되어 있지 않습니다. 제대로 수행하려면 다음과 같이하십시오. 1 - OPENSSL에 대한 cacert.pem 파일이 있는지 확인하십시오. 그렇지 않은 경우 phac 버전에 따라 cacert.pem에서 적절한 버전을 다운로드하고 php.ini 파일을 "2-"로 설정하십시오.

2이 파일이 있으면 php.ini 파일을 검색하여 파일에 설정되어 있는지 확인해야합니다. 그렇게 : 당신이 모든 cacert.pem 파일로 수행되는 것보다, 그것을 발견 할 경우 조회를 라인

openssl.cafile ="example address..\cacert.pem" 

당신이 특정 주소로 라인을 발견하면, 해당 주소에 cacert.pem 파일을 찾습니다. 그렇지 않으면 정확한 주소를 사용해야합니다.

희망이 도움이 .. 행운을 빌어 요!

+0

네가 맞아, 고마워! –