안녕하세요.

제목과 같은 오류가 발생하여 문의 드립니다.

제 PC에 세팅된 환경입니다.

  • rhymix_version : 1.8.41
  • date : 2017-06-22 18:07:43 +0900
  • php : 7.0.6 (64-bit)
  • server : Apache/2.4.20 (Win64) PHP/7.0.6

라이믹스 설치해서 이것저것 테스트 해보고 있는데 회원 가입 시 아래와 같은 오류가 발생하네요.

Requests_Exception #0 "cURL error 60: SSL certificate problem: self signed certificate in certificate chain" in C:\APM\Apache24\htdocs2\vendor\rmccue\requests\library\Requests\Transport\cURL.php on line 280

 

https://curl.haxx.se/docs/caextract.html 페이지에서 cacert.pem 파일을 다운로드 받습니다.

php.ini 파일에서 curl.cainfo 항목을 찾은 다음, 다운로드 받은 파일의 경로를 아래와 같이 지정한 후, 서버를 재시작합니다. (cacert.pem 파일의 경로가 c:\php\cacert.pem일 경우)

curl.cainfo=c:\php\cacert.pem

참고: https://snippets.webaware.com.au/howto/stop-turning-off-curlopt_ssl_verifypeer-and-fix-your-php-config/

 

위 방법으로 조치했는데 계속 오류가 발생하네요. 

혹시 동일 오류가 발생하여 조치해보신 분 계신지요?

 

 

 

  • profile

    오류가 발생한 파일을 호출한 파일, 그 파일을 호출한 파일 등이 주르륵 따라 나올 텐데요. 그것까지 포함해서 제보해 주시면 원인 파악에 도움이 되겠습니다. 회원가입시 발생하는 문제라면 가입 환영메일을 발송하기 위한 외부 API 연동이라든지, 이런 부분일 것으로 추정됩니다만...

     

    링크하신 cacert.pem 관련 정보는 무시하셔도 됩니다. 라이믹스에 이미 포함되어 있습니다.

     

    윈도우 서버라는 점이 마음에 걸리긴 하네요. 라이믹스 개발팀 중 윈도우 서버 쓰는 사람 아무도 없거든요.

  • profile profile

    친절한 답변 감사드립니다.

    가입 폼에서 유효성 검사 모두 끝나고 가입버튼 클릭 이벤트 발생 이후 시점부터 발췌한 로그입니다.

    로그상에 simple_world 스킨관련 Warning 메시지가 뜨는거 말고는 다른 특이점 확인이 안되네요.

    그리고 사용중인 회원스킨은 simple_world 스킨이 아니며 자체 제작 스킨입니다

     

    참고적으로 회원설정은 아래와 같이 되어 있습니다.

    - 회원 설정 - 기본 설정 : 메일 인증 사용 - 아니오

    - 회원 설정 - 회원 가입 : 이메일 제공자 관리 - 미사용

     

    [2017-06-22 20:24:16]

    Request / Response
    ==================
    Request URL:         http://localhost:81/
    Request IP Address:  ::1
    Request Method:      POST
    Request Body Size:   4616
    Response Method:     HTML
    Response Body Size:  4354

    Page Generation Time
    ====================
    Total Time:              0.9508 sec
    Template Compile Time:   0.1326 sec (count: 4)
    XML Parsing Time:        0.0002 sec
    DB Query Time:           0.0010 sec (count: 1)
    DB Processing Time:      0.0334 sec
    Layout Processing Time:  0.0142 sec
    Widget Processing Time:  0.0000 sec
    Remote Request Time:     0.0000 sec
    Content Transform Time:  0.0001 sec

    Resource Usage
    ==============
    Peak Memory Usage:  4.0 MB
    Included Files:     169

    Debug Entries
    =============
    None

    PHP Errors and Warnings
    =======================
    01. Warning: Creating default object from empty value
        - C:\APM\Apache24\htdocs2\files\cache\template\modules\message\skins\simple_world\common_header.html.php line 14
        - C:\APM\Apache24\htdocs2\classes\template\TemplateHandler.class.php line 352
        - C:\APM\Apache24\htdocs2\classes\template\TemplateHandler.class.php line 155
        - C:\APM\Apache24\htdocs2\files\cache\template\modules\message\skins\simple_world\system_message.html.php line 2
        - C:\APM\Apache24\htdocs2\classes\template\TemplateHandler.class.php line 352
        - C:\APM\Apache24\htdocs2\classes\template\TemplateHandler.class.php line 155
        - C:\APM\Apache24\htdocs2\classes\display\HTMLDisplayHandler.php line 73
        - C:\APM\Apache24\htdocs2\classes\display\DisplayHandler.class.php line 60
        - C:\APM\Apache24\htdocs2\classes\module\ModuleHandler.class.php line 1088
        - C:\APM\Apache24\htdocs2\classes\context\Context.class.php line 1516
        - C:\APM\Apache24\htdocs2\common\framework\debug.php line 517
        - C:\APM\Apache24\htdocs2\common\framework\debug.php line 398
        -  line 0

    Database Queries
    ================
    01. SELECT *  FROM `rx_layouts` as `layouts`   WHERE `layout_srl` = ?   
        - Caller:      C:\APM\Apache24\htdocs2\modules\layout\layout.model.php line 271 (layoutModel->getLayout)
        - Connection:  master (localhost)
        - Query ID:    layout.getLayout
        - Query Time:  0.0010 sec
        - Result:      success

    Slow Queries
    ============
    01. SELECT *  FROM `rx_layouts` as `layouts`   WHERE `layout_srl` = ?   
        - Caller:      C:\APM\Apache24\htdocs2\modules\layout\layout.model.php line 271 (layoutModel->getLayout)
        - Connection:  master (localhost)
        - Query ID:    layout.getLayout
        - Query Time:  0.0010 sec
        - Result:      success

    Slow Triggers
    =============
    01. moduleHandler.init.before
        - Target:     communicationcontroller.triggerModuleHandlerBefore
        - Exec Time:  0.0212 sec
    02. addon.before_module_init
        - Target:     autolink
        - Exec Time:  0.0005 sec
    03. addon.before_module_init
        - Target:     member_extra_info
        - Exec Time:  0.0005 sec
    04. addon.before_module_init
        - Target:     mobile
        - Exec Time:  0.0004 sec
    05. addon.before_module_init
        - Target:     recaptcha
        - Exec Time:  0.0049 sec
    06. addon.before_module_init
        - Target:     resize_image
        - Exec Time:  0.0005 sec
    07. moduleHandler.init.after
        - Target:     ncenterlitecontroller.triggerAddMemberMenu
        - Exec Time:  0.0068 sec
    08. moduleHandler.init.after
        - Target:     socialxecontroller.triggerModuleHandler
        - Exec Time:  0.0000 sec
    09. moduleObject.proc.before
        - Target:     socialxecontroller.triggerModuleObjectBefore
        - Exec Time:  0.0000 sec
    10. moduleHandler.init.before
        - Target:     communicationcontroller.triggerModuleHandlerBefore
        - Exec Time:  0.0053 sec
    11. addon.before_module_init
        - Target:     autolink
        - Exec Time:  0.0005 sec
    12. addon.before_module_init
        - Target:     member_extra_info
        - Exec Time:  0.0005 sec
    13. addon.before_module_init
        - Target:     mobile
        - Exec Time:  0.0005 sec
    14. addon.before_module_init
        - Target:     recaptcha
        - Exec Time:  0.0010 sec
    15. addon.before_module_init
        - Target:     resize_image
        - Exec Time:  0.0004 sec
    16. moduleHandler.proc.after
        - Target:     ncenterlitecontroller.triggerAfterModuleHandlerProc
        - Exec Time:  0.0000 sec
    17. moduleHandler.proc.after
        - Target:     rsscontroller.triggerRssUrlInsert
        - Exec Time:  0.0173 sec
    18. display.before
        - Target:     editorcontroller.triggerEditorComponentCompile
        - Exec Time:  0.0051 sec
    19. display.before
        - Target:     ncenterlitecontroller.triggerBeforeDisplay
        - Exec Time:  0.0000 sec
    20. display.before
        - Target:     socialxecontroller.triggerDisplay
        - Exec Time:  0.0000 sec
    21. display.before
        - Target:     widgetcontroller.triggerWidgetCompile
        - Exec Time:  0.0001 sec
    22. addon.before_display_content
        - Target:     autolink
        - Exec Time:  0.0037 sec
    23. addon.before_display_content
        - Target:     member_extra_info
        - Exec Time:  0.0012 sec
    24. addon.before_display_content
        - Target:     mobile
        - Exec Time:  0.0005 sec
    25. addon.before_display_content
        - Target:     recaptcha
        - Exec Time:  0.0005 sec
    26. addon.before_display_content
        - Target:     resize_image
        - Exec Time:  0.0005 sec

    Slow Widgets
    ============
    None

    Slow Remote Requests
    ====================
    None

  • profile profile
    지금은 발생하지 않는다면 일시적인 에러였나 보군요. 만약 위에서 제가 짐작한 것처럼 인증메일 발송 과정에서 발생한 에러였다면 메일 발송 API 서버 측에 잠깐 문제가 있었을 수도 있습니다.
  • profile profile
    동일 오류가 발생하며 로그는 저게 다입니다.
    내일 더 확인해 보려구요
  • profile profile
    치명적인 오류라면 디버그 기록이 남지 않을 수도 있습니다. 에러 로그를 확인해 보세요.
    거기에도 없다면 인증메일 등 외부 서버와 연동할 만한 기능을 하나씩 꺼놓고 확인해 보세요.
  • profile profile
    넵. 감사합니다.
    편한 밤 되세요^^
  • profile profile

    reCAPTCHA 애드온에서 오류가 발생한거네요.

    01. 'reCAPTCHA.check Exception ====>#0 C:\\APM\\Apache24\\htdocs2\\vendor\\rmccue\\requests\\library\\Requests\\Transport\\cURL.php(123): Requests_Transport_cURL->process_response(false, Array)
    #1 C:\\APM\\Apache24\\htdocs2\\vendor\\rmccue\\requests\\library\\Requests.php(317): Requests_Transport_cURL->request(\'https://www.goo...\', Array, Array, Array)
    #2 C:\\APM\\Apache24\\htdocs2\\vendor\\rmccue\\requests\\library\\Requests.php(224): Requests::request(\'https://www.goo...\', Array, Array, \'POST\', Array)
    #3 C:\\APM\\Apache24\\htdocs2\\addons\\recaptcha\\recaptcha.class.php(26): Requests::post(\'https://www.goo...\', Array, Array)
    #4 C:\\APM\\Apache24\\htdocs2\\classes\\module\\ModuleHandler.class.php(1287): reCAPTCHA::check(Object(memberController))
    #5 C:\\APM\\Apache24\\htdocs2\\classes\\module\\ModuleObject.class.php(536): ModuleHandler::triggerCall(\'moduleObject.pr...\', \'before\', Object(memberController))
    #6 C:\\APM\\Apache24\\htdocs2\\classes\\module\\ModuleHandler.class.php(778): ModuleObject->proc()
    #7 C:\\APM\\Apache24\\htdocs2\\index.php(53): ModuleHandler->procModule()
    #8 {main}'
    - C:\APM\Apache24\htdocs2\addons\recaptcha\recaptcha.class.php line 32
    - C:\APM\Apache24\htdocs2\classes\module\ModuleHandler.class.php line 1287
    - C:\APM\Apache24\htdocs2\classes\module\ModuleObject.class.php line 536
    - C:\APM\Apache24\htdocs2\classes\module\ModuleHandler.class.php line 778
    - C:\APM\Apache24\htdocs2\index.php line 53

  • profile profile
    구글 인증서에 문제가 있을 리는 없고... 검색해 보니 윈도우용 PHP에서 흔히 있는 일이라고 하네요. 주로 나오는 해결책이 cacert.pem인데 이건 라이믹스에 이미 포함되어 있으니...
  • profile profile

    네.. 그르게요.
    저도 다방면으로 해결책을 찾아보려고 시도했는데 잘 안되네요.

    우선 로컬 개발환경에서는 reCAPTCHA 애드온 끄고 진행해야겠네요. ^^
    그리고 recaptcha.class.php 에 아래와 같은 방어코드가 들어가면 어떨는지요?

    try {
    $verify_request = \Requests::post(self::$verify, array(), array(
    'secret' => self::$config->secret_key,
    'response' => $response,
    'remoteip' => \RX_CLIENT_IP,
    ));
    } catch (Exception $e) {
    return new Object(-1, lang('recaptcha.msg_recaptcha_server_error'));
    }

    관심에 감사드려요~ 좋은하루 되세요^^