Maison > Article > développement back-end > Comment mettre à niveau OpenSSL fourni avec Mac ? (Résumé du processus)
Comment mettre à jour openssl fourni avec Mac ? L'article suivant vous présentera le processus de mise à niveau d'openssl fourni avec Mac. Vous pouvez vous y référer si nécessaire.
Étant donné que le openssl
fourni avec Mac est trop ancien, vous devez ici mettre à niveau vers une version supérieure pour installer le pack d'extension Python, résumons donc le processus de mise à niveau.
Tout d'abord, jetons un coup d'œil à notre version et à notre répertoire openssl :
-> ~ openssl version OpenSSL 0.9.8zh 14 Jan 2016 -> ~ which openssl /usr/bin/openssl -> ~
Grâce à l'examen ci-dessus, il est évident que notre numéro de version est trop faible.
Suivez les étapes ci-dessus, nous mettons d'abord à jour l'installation de homebrew
brew update
:
brew install openssl # 重新安装 # brew reinstall openssl
Après une installation réussie :
~ brew reinstall openssl ==> Reinstalling openssl ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2p.el_capitan.bottle.tar.gz Already downloaded: /Users/kaiyiwang/Library/Caches/Homebrew/downloads/96bc2acd84d0fe609dcbe4c6436c864808f7e8f26f2f12111f552f5972c3840a--openssl-1.0.2p.el_capitan.bottle.tar.gz ==> Pouring openssl-1.0.2p.el_capitan.bottle.tar.gz ==> Caveats A CA file has been bootstrapped using certificates from the SystemRoots keychain. To add additional certificates (e.g. the certificates added in the System keychain), place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash openssl is keg-only, which means it was not symlinked into /usr/local, because Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries. If you need to have openssl first in your PATH run: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc For compilers to find openssl you may need to set: export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" ==> Summary /usr/local/Cellar/openssl/1.0.2p: 1,793 files, 12.2MB
Cela signifie que nous avons installé avec succès openssl sur /usr/local/Cellar/openssl/1.0.2p
.
Cependant, nous avons encore la dernière étape, c'est-à-dire que lorsque nous utilisons openssl, nous utilisons le openssl nouvellement téléchargé avec homebrew. Pour atteindre cet objectif, nous disposons de deux méthodes.
Mettez l'openssl téléchargé par homebrew 软链接
dans le répertoire /usr/bin/openssl
. Ici, nous en sauvegardons d’abord une ancienne copie, puis nous lions automatiquement celle nouvellement téléchargée.
$ mv /usr/bin/openssl /usr/bin/openssl_old mv: rename /usr/bin/openssl to /usr/bin/openssl_old: Operation not permitted $ ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/openssl ln: /usr/bin/openssl: Operation not permitted
Opération non autorisée indique qu'il n'y a pas d'autorisation d'opérer. J'ai rencontré ce problème plusieurs fois pour des éléments du répertoire /usr/bin, j'ai donc continué à chercher sur Google et je l'ai trouvé sur stackoverflow Operation Not Permitted when on root El capitan (rootless disabled)
.
Redémarrez le système. Au démarrage, nous appuyons sur cmd+r en même temps pour entrer en mode de récupération, puis sélectionnons Utilitaires => Terminal, saisissons la commande suivante dans le terminal, verrouillons le système de fichiers et redémarrez le système. ordinateur (cmd +r, vous entrerez dans une autre interface pour sélectionner le démarrage du système. Ne redémarrez pas immédiatement dans cette interface. Recherchez d'abord le terminal et entrez csrutil Disable) dans le terminal :
$ csrutil disable $ reboot
Enfin, nous exécutons les deux premières commandes pour afficher la version.
$ sudo mv /usr/bin/openssl /usr/bin/openssl_old $ sudo ln -s /usr/local/Cellar/openssl/1.0.2p/bin/openssl /usr/bin/openssl $ openssl version OpenSSL 1.0.2p 14 Aug 2018 ➜ ~ which openssl /usr/local/opt/openssl/bin/openssl
De cette façon, notre mise à niveau openssl a été réussie. Cependant, par mesure de sécurité, j'ai redémarré mon ordinateur et réactivé csrutil.
csrutil enable reboot
Recommandations associées :
macos - Comment effectuer une mise à niveau majeure de la version PHP fournie avec Mac ?
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!