>백엔드 개발 >PHP 튜토리얼 >OSX 10.10에서 SSLRead() 오류로 인해 HTTPS URL에 대한 Curl POST가 실패하는 이유는 무엇입니까?

OSX 10.10에서 SSLRead() 오류로 인해 HTTPS URL에 대한 Curl POST가 실패하는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-02 22:57:301054검색

Why Does My Curl POST to HTTPS URL Fail with SSLRead() Error on OSX 10.10?

OSX 10.10 Curl POST에서 HTTPS URL로 SSLRead() 오류를 반환함

이 문제는 PHP가 Apple의 cURL 버전을 사용하는 cURL 버전으로 컴파일될 때 발생합니다. Yosemite의 보안 전송 및 대상 HTTPS URL에는 POODLE 취약점으로 인해 취해진 조치인 SSLv3 지원이 부족합니다.

이것이 실제로 원인인지 확인하려면 다음 명령을 실행하십시오.

$ php -i | grep "SSL Version"

다음과 같은 결과가 나타날 수 있습니다.

SSL Version => SecureTransport

문제를 해결하려면 SecureTransport 대신 OpenSSL을 활용하는 cURL 버전을 사용하는 PHP 버전을 설치하세요. Homebrew를 사용하면 이 작업을 원활하게 수행할 수 있습니다.

  1. Homebrew가 아직 설치되어 있지 않은 경우 설치하세요. 업데이트하고 최신 XCode 명령줄 도구를 사용하여 XCode 6.1 이상이 있는지 확인하세요.
  2. Homebrew 저장소를 탭하세요:

    • $ Brew Tap homebrew/dupes
    • $ Brew tap homebrew/versions
    • $ Brew Tap homebrew/php
  3. OpenSSL로 컬 설치:

    • $ Brew install --with-openssl 컬
  4. 새로 설치된 openssl 컬을 사용하여 PHP 설치 :

    • $ Brew install --with-homebrew-curl --with-httpd24 php55
    • 해당되는 경우 httpd24를 Apache 버전으로 바꾸세요.
  5. Apache/Nginx 구성:

    • Apache: LoadModule 추가 php5_module /usr/local/opt/php55/libexec/apache2 /libphp5.so를 httpd.conf에 복사하고 Apache를 다시 시작하세요.
    • Nginx(Caveat):

      • fpm 시작:

        • mkdir -p ~/Library/LaunchAgents
        • cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
        • launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
  6. 필요한 PHP 확장 설치, 예: $ Brew install php55-mcrypt.
  7. php -i | 변경 사항을 확인하는 grep "SSL Version" 명령:

    • SSL Version => OpenSSL/1.0.2h

이 단계를 실행하면 SSLRead() 오류가 더 이상 지속되지 않습니다.

위 내용은 OSX 10.10에서 SSLRead() 오류로 인해 HTTPS URL에 대한 Curl POST가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.