Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Betulkan \"SSLRead() return error -9806\" dalam Curl POST Requests pada OSX 10.10 Yosemite?

Bagaimana untuk Betulkan \"SSLRead() return error -9806\" dalam Curl POST Requests pada OSX 10.10 Yosemite?

Patricia Arquette
Patricia Arquetteasal
2024-11-02 00:46:30669semak imbas

How to Fix

SLRRead() Ralat dalam Curl POST ke URL HTTPS pada OSX 10.10 Yosemite

Isu:

Selepas menaik taraf kepada OSX 10.10 Yosemite, permintaan CURL POST ke URL HTTPS gagal dengan ralat:

Error Number:56
Error String:SSLRead() return error -9806

Punca:

Ralat ini berlaku apabila PHP disusun dengan versi cURL yang menggunakan Pengangkutan Selamat Apple di bawah Yosemite dan URL sasaran tidak menyokong SSLv3.

Penyelesaian:

Untuk menyelesaikan isu ini, pasangkan versi PHP yang menggunakan versi cURL yang menggunakan OpenSSL dan bukannya Pengangkutan Selamat. Berikut adalah langkah-langkahnya:

1. Semak Versi cURL:

php -i | grep "SSL Version"

Jika output ialah "SecureTransport," teruskan ke langkah seterusnya.

2. Pasang Homebrew:

brew install homebrew/core/homebrew
brew update

3. Ketik Repositori Diperlukan:

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php

4. Pasang cURL dengan OpenSSL:

brew install --with-openssl curl

5. Pasang PHP dengan Homebrew cURL dan OpenSSL:

brew install --with-homebrew-curl --with-httpd24 php55

6. Konfigurasi Apache (jika menggunakan):

Tambah baris berikut pada /etc/apache2/httpd.conf:

LoadModule php5_module    /usr/local/opt/php55/libexec/apache2/libphp5.so

7. Mulakan PHP-FPM untuk nginx (jika menggunakan):

mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

8. Pasang Sambungan PHP (pilihan):

brew install php55-mcrypt

9. Sahkan OpenSSL:

php -i | grep "SSL Version"

Output seharusnya menunjukkan "OpenSSL/1.0.2j."

Kini, permintaan CURL POST anda ke URL HTTPS sepatutnya berjaya tanpa ralat SSLRead() .

Atas ialah kandungan terperinci Bagaimana untuk Betulkan \"SSLRead() return error -9806\" dalam Curl POST Requests pada OSX 10.10 Yosemite?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn