
Mein Fehler ist, dass ich jedes Mal, wenn ich versuche, Composer sowohl über die GUI als auch über die Befehlszeile zu installieren, denselben Fehler erhalte, bei dem die SSL-Verifizierung fehlschlägt und ich daher über meinen Proxy keine Verbindung zu HTTPs herstellen kann. Ich verwende einen Windows 7-Rechner, auf dem XAMPP hinter einem Proxy läuft.
Zunächst habe ich diesen Fehler untersucht und alle Lösungen in anderen Beiträgen ausprobiert und frage mich, was ich übersehen habe.
- Dies scheint das gleiche Problem wie bei mir zu sein, aber es gibt keine Antworten.https://stackoverflow.com/questions/52457358/ssl-routinestls-process-server-certificatecertificate-verify-failed-failed-to
- Das hier sieht so aus, als ob es funktionieren könnte, aber ich verwende einen Windows 7-Rechner und habe nicht die Möglichkeit, meine Zertifikate zu löschen und neu zu installieren.https://stackoverflow.com/questions/53351117/php-composer-https-error-1416f086-certificate-verifying-failed
- Dies ist keine virtuelle Maschine, sondern läuft auf dem nativen Betriebssystem. Daher glaube ich nicht, dass ich eine Zeitsynchronisierung durchführen muss.https://stackoverflow.com/questions/53154837/ssl-error-messages-error1416f086ssl-routinestls-process-server-certificatec
Die Dinge, die ich versucht habe:
- Ich verwende derzeit XAMPP für Apache und habe die neuesten Versionen sowie einige frühere Versionen heruntergeladen und installiert
- Ich habe curl-ca-bundle.crt erneut heruntergeladen und mein \xampp\apache\bin\curl-ca-bundle.crt aktualisiert, um die neueste Version widerzuspiegeln (~ungefähr 20 KB Unterschied zwischen der mit XAMPP gelieferten Version und der, die ich heruntergeladen habe).
- Ich habe das Zertifikat für getcomposer.org manuell heruntergeladen und an das Ende meiner curl-ca-bundle.crt angehängt. (Ja, ich bin sicher, dass dies die Datei ist, die PHP/Composer zur Installation verwendet.)
- Wenn ich versuche, dies über die Befehlszeile zu installieren, erhalte ich die Fehlermeldung, dass kein solcher Host bekannt ist. Ich habe herausgefunden, dass dieses Problem darauf zurückzuführen ist, dass HTTP/HTTPS_PROXY-URLs nicht festgelegt sind. Ich habe sie aktiviert und erhalte dann denselben Fehler wie über die GUI (siehe unten).
- Ich habe dann über die Composer-Site die zu installierende EXE-Datei heruntergeladen. Im Installationsprogramm habe ich die Möglichkeit, einen Proxy anzugeben (was ich getan habe), um den „No-Sush-Host“ loszuwerden. Nachdem ich den Proxy angegeben habe, habe ich jetzt genau denselben Fehler wie in der Befehlszeile.
- Deaktivieren von SSL/TLS für Composer. Aber es schlägt immer noch fehl, wenn versucht wird, eine Website über https zu kontaktieren.
Benutzeroberfläche (GUI):
Das Composer-Installationsskript war nicht erfolgreich [Exitcode 1].
OpenSSL ist mit dem Fehler „Zertifikatsüberprüfung fehlgeschlagen“ fehlgeschlagen. Dies weist auf ein Problem mit den Dateien der Zertifizierungsstelle auf Ihrem System hin, die möglicherweise veraltet sind.
Zertifikatspeicherort [aus den INI-Einstellungen von openssl.cafile]: \xampp\apache\bin\curl-ca-bundle.crt
Die von Ihrem PHP-Befehlszeilenprogramm verwendete php.ini lautet: C:\xampp\php\php.ini
Skriptausgabe: Die "https://getcomposer.org/versions" Datei konnte nicht heruntergeladen werden: SSL-Vorgang ist mit Code 1 fehlgeschlagen. OpenSSL-Fehlermeldungen: Fehler:1416F086:SSL-Routinen:tls_process_server_certificate:Zertifikatsüberprüfung fehlgeschlagen. Stream konnte nicht geöffnet werden: Verbindung zum HTTPS-Server über Proxy nicht möglich
CMD-Zeile:
C:\Users\S0077500\Desktop\Laravel\Attempt 7>php composer.phar diagnose
You are running Composer with SSL/TLS protection disabled.
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: WARNING
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Composer is configured to disable SSL/TLS protection. This will leave remote HTT
PS requests vulnerable to Man-In-The-Middle attacks.
Checking HTTP proxy: FAIL
[Composer\Downloader\TransportException] The "https://repo.packagist.org/package
s.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL
Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking HTTP proxy support for request_fulluri: OK
Checking HTTPS proxy support for request_fulluri: Unable to assess the situation
, maybe github is down (The "https://api.github.com/repos/Seldaek/jsonlint/zipba
ll/1.0.0" file could not be downloaded: SSL operation failed with code 1. OpenSS
L Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy)
Checking github.com rate limit: FAIL
[Composer\Downloader\TransportException] The "https://api.github.com/rate_limit"
file could not be downloaded: SSL operation failed with code 1. OpenSSL Error m
essages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify fa
iled
failed to open stream: Cannot connect to HTTPS server through proxy
Checking disk free space: OK
Checking pubkeys: FAIL
Missing pubkey for tags verification
Missing pubkey for dev verification
Run composer self-update --update-keys to set them up
Checking composer version:
[Composer\Downloader\TransportException]
The "https://getcomposer.org/versions" file could not be downloaded: SSL op
eration failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate veri
fy failed
failed to open stream: Cannot connect to HTTPS server through proxy
diagnose
C:\Users\S0077500\Desktop\Laravel\Attempt 7>
Antwort1
Ich habe Windows 10 mit xampp 3.0.12 (php5.3). Ich konnte Composer nicht installieren. Ich habe die folgenden Schritte ausprobiert und es hat bei mir funktioniert.
- Laden Sie das Installationsskript herunter vonhttps://getcomposer.org/installer.
- Speichern Sie es in einer Datei mit dem Namen
composer-setup.php
. - Öffnen Sie es
composer-setup.php
in Ihrem bevorzugten Editor. - Ersetzen Sie alle HTTPS durch HTTP und speichern Sie die Datei.
Führen Sie die folgenden 3 Schritte in der Eingabeaufforderung aus:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'a5c698ffe4b8e849a443b120cd5ba38043260d5c4023dbf93e1558871f1f07f58274fc6f4c93bcfd858c6bd0775cd8d1') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
Voila! Composer wurde erfolgreich installiert. Sie können Folgendes ausführen:
php composer.phar
.
Danke
Antwort2
Ich hatte den gleichen Fehler. So habe ich das Problem gelöst. Ich habe die Anweisungen in befolgthttps://getcomposer.org/download/, Absatz untenBefehlszeileninstallation
```
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
```
Ich habe die Zeile ersetzt php composer-setup.php
durchphp composer-setup.php --disable-tls
Das PHP-Skript muss nicht bearbeitet werden.
Ich kam auf die Idee, als ich den Code in composer-setup.php überprüfte, wo ich die Option fand. Ich hätte php composer-setup.php --help
schneller und ohne Codelesen die gleiche Antwort finden sollen.