해결됨: OSX 10.10 Yosemite로 업그레이드한 후 POST를 HTTPS URL로 컬링
"SSLRead() 반환 오류가 발생한 경우 -9806" OSX 10.10 Yosemite로 업그레이드한 후에는 혼자가 아닙니다. 이 문제는 SSL URL에 대한 Curl POST 요청을 할 때 발생합니다.
문제는 PHP가 현재 Yosemite에서 Apple의 Secure Transport를 사용하는 cURL 버전으로 컴파일되고 있다는 사실에서 비롯됩니다. 그러나 이러한 요청에 대한 많은 대상 URL은 POODLE 취약점으로 인해 비활성화된 SSLv3을 더 이상 지원하지 않습니다.
해결책
이 문제를 해결하려면 보안 전송 대신 OpenSSL과 함께 cURL을 활용하는 PHP 버전을 설치해야 합니다. 단계별 가이드는 다음과 같습니다.
-
SSL 버전 확인: "$ php -i | grep "SSL Version"" 명령을 실행하여 cURL이 SecureTransport를 사용하고 있는지 확인하세요. .
-
Homebrew 설치: 아직 설치하지 않았다면 Homebrew를 설치하여 소프트웨어 패키지를 관리하세요. Homebrew를 업데이트하고 필요한 탭을 설치합니다. "$ Brew tap homebrew/dupes; Brew tap homebrew/versions; Brew tap homebrew/php."
-
OpenSSL로 Curl 설치: "brew install - -with-openssl 컬."
-
php 및 Openssl 설치: "brew install --with-homebrew-curl --with-httpd24 php55."
-
Apache 또는 Nginx 구성:
-
Apache: "LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so" 추가 "/etc/apache2/httpd.conf"로 복사하고 Apache를 다시 시작하세요.
-
Nginx: fpm 시작 시 주의 사항 지침을 따르세요.
-
PHP 확장 설치: "brew install php55-mcrypt"와 같은 필요한 PHP 확장을 설치합니다.
-
SSL 버전 재확인: "$ php -i | "SSL 버전""을 다시 grep하여 OpenSSL이 사용되고 있는지 확인하세요.
이제 HTTPS URL에 대한 Curl POST 요청을 시도할 때 "SSLRead() 반환 오류 -9806"이 더 이상 표시되지 않습니다.
위 내용은 OSX 10.10 Yosemite로 업그레이드한 후 \'SSLRead() 반환 오류 -9806\'을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!