Homebrew, PHP 7.1 en cURL error 56: SSLRead() return error -9806

Na het installeren van PHP 7.1 via Brew kreeg ik via de WordPress HTTP API soms de volgende foutmelding te zien:

cURL error 56: SSLRead() return error -9806

Ik was deze fout wel vaker tegen gekomen, maar het is altijd weer even zoeken naar de oplossing. Het belangrijkste is dat er gewerkt wordt Homebrew curl en openssl:

brew uninstall git
brew uninstall curl

brew install openssl
brew install libressl

brew install curl --with-openssl

brew install php71 --with-homebrew-curl --with-homebrew-libressl --build-from-source
brew install php71-xdebug
brew install php71-mcrypt

Verder zijn ook de volgende Homebrew packages handig om te installeren:

brew install svn

brew install git --with-brewed-curl --with-brewed-openssl --with-brewed-svn --without-completions
brew install git-ftp
brew install git-flow

brew install composer
brew install php-code-sniffer
brew install phpmd
brew install phpunit
brew install phpmyadmin

Update 29 augustus 2017

Bovenstaande commando’s lijken het probleem niet altijd op te lossen. Eventueel kan onderstaande dan geprobeerd worden:

brew reinstall curl --with-openssl

De Homebrew curl formule is ‘keg-only’, maar om er zeker van te zijn dat Homebrew curl formule gebruikt wordt linken we deze wel:

brew link curl --force

Ook zorgen we er voor dat de Homebrew curl formule gebruikt wordt in de shell:

echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc

Als het goed is geeft het volgende commando nu het volgende resultaat:

curl --version
curl 7.55.1 (x86_64-apple-darwin16.7.0) libcurl/7.55.1 OpenSSL/1.0.2l zlib/1.2.8 libssh2/1.8.0
Release-Date: 2017-08-14
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets HTTPS-proxy

Met name de OpenSSL/1.0.2l is hierbij belangrijk. Daarna gaan we PHP 7.1 opnieuw installeren met Homebrew curl:

brew reinstall php71 --with-homebrew-curl

Als het goed is geeft het volgende commando nu het volgende resultaat:

php -i | grep "SSL Version"
SSL Version => OpenSSL/1.0.2l

Bronnen

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *