Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Betulkan \'SSLRead() return error -9806\' Selepas Menaik taraf kepada OSX 10.10 Yosemite?

Bagaimana untuk Betulkan \'SSLRead() return error -9806\' Selepas Menaik taraf kepada OSX 10.10 Yosemite?

Susan Sarandon
Susan Sarandonasal
2024-11-02 10:23:02520semak imbas

How to Fix

Selesai: Curl POST ke HTTPS Url Selepas Menaik taraf kepada OSX 10.10 Yosemite

Jika anda mengalami ralat "SSLRead() return error -9806" selepas menaik taraf kepada OSX 10.10 Yosemite, anda tidak bersendirian. Isu ini timbul apabila membuat permintaan Curl POST ke URL SSL.

Masalahnya berpunca daripada fakta bahawa php sedang disusun dengan versi cURL yang menggunakan Pengangkutan Selamat Apple di bawah Yosemite. Walau bagaimanapun, banyak URL sasaran untuk permintaan ini tidak lagi menyokong SSLv3, yang telah dilumpuhkan disebabkan oleh kerentanan PODLE.

Penyelesaian

Untuk menyelesaikan isu ini, anda akan perlu memasang versi php yang menggunakan cURL dengan OpenSSL dan bukannya Pengangkutan Selamat. Berikut ialah panduan langkah demi langkah:

  1. Semak Versi SSL: Jalankan arahan "$ php -i | grep "SSL Version"" untuk mengesahkan bahawa cURL menggunakan SecureTransport .
  2. Pasang Homebrew: Jika anda belum melakukannya, pasang Homebrew untuk mengurus pakej perisian. Kemas kini Homebrew dan pasang paip yang diperlukan: "$ brew tap homebrew/dupes; brew tap homebrew/versions; brew tap homebrew/php."
  3. Install Curl dengan OpenSSL: "brew install - -with-openssl curl."
  4. Pasang php dan Openssl: "brew install --with-homebrew-curl --with-httpd24 php55."
  5. Konfigurasikan Apache atau Nginx:

    • Apache: Tambah "LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so" kepada "/etc/apache2/httpd.conf" dan mulakan semula Apache.
    • Nginx: Ikut arahan kaveat untuk memulakan fpm.
  6. Pasang Sambungan PHP: Pasang sebarang sambungan php yang diperlukan, seperti "brew install php55-mcrypt."
  7. Semak semula Versi SSL: Jalankan "$ php -i | grep "SSL Version"" sekali lagi untuk memastikan OpenSSL sedang digunakan.

Kini, "SSLRead() return error -9806" seharusnya tidak lagi muncul apabila anda mencuba permintaan Curl POST ke URL HTTPS.

Atas ialah kandungan terperinci Bagaimana untuk Betulkan \'SSLRead() return error -9806\' Selepas Menaik taraf kepada 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