Um Openssl mit PHP nutzen zu können, müssen Sie PHP mit der Option --with-openssl[=DIR] kompilieren.
Die OpenSSL Bibliothek stellt einige weitere Bedingungen, um zur Laufzeit korrekt funktionieren zu können. Insbesondere benötigt OpenSLL Zugang zu einer Quelle für zufällige oder pseudo-zufällige Zahlen. Auf Unix und Unix-ähnlichen Systemen bedeutet dies, dass OpenSSL Zugang zu /dev/urandom oder /dev/random haben sollte.
Hinweis: Hinweis für Win32 Benutzer
Diese Extension benötigt DLL-Dateien. die für Windows verfügbar seien müssen. Der FAQ-Eintrag " Wie füge ich unter Windows PATH mein PHP-Verzeichnis hinzu?" gibt hierzu weitere Informationen. Obwohl ein einfaches Kopieren der DLL-Dateien vom PHP-Verzeichnis in den Windows-Systemordner auch funktioniert (weil der Systemordner immer im PATH enthalten ist), ist dieses Vorgehen nicht empfehlenswert. Diese Extension benötigt die folgenden Dateien im PATH: libeay32.dll
Wenn Sie vorhaben, Schlüssel erzeugende und Zertifikate signierende Funktionen zu benutzen, müssen Sie eine gültige Konfigurationsdatei für OpenSSL, openssl.cnf, installieren. Wir fügen der win32 Binärdistribution eine Beispielkonfigurationsdatei bei, die Sie im Verzeichnis extras/openssl finden.
PHP verwendet folgende Logik um die Konfigurationsdatei openssl.cnf zu finden:
Damit diese Datei gefunden wird, müsssen Sie sich bei der Installation entscheiden, entweder die Konfigurationsdatei unter c:\usr\local\ssl\openssl.cnf anzulegen, oder diese Datei an einem anderen Ort abzulegen und Umgebungsvariablen zu benutzen (möglicherweise auf Basis verschiedener Virtual-Host Konfigurationen). Bei Funktionen, die diese Konfigurationsdatei benötigen, ist es möglich, durch die Angabe des Parameters
- Die Umgebungsvariable OPENSSL_CONF wird, falls gesetzt, als Pfad zur Konfigurationsdatei benutzt (den Dateinamen mit eingeschlossen).
- Die Umgebungsvariable SSLEAY_CONF wird, falls gesetzt, als Pfad zur Konfigurationsdatei benutzt (den Dateinamen mit eingeschlossen).
- PHP sucht die Datei openssl.cnf an dem Ort, der bei der Kompilierung der openssl DLL als Speicherort für Zertifikate angegeben wurde. Üblicherweise ist der Standarddateiname c:\usr\local\ssl\openssl.cnf.
configargs
den Standardpfad zu dieser Datei in einem Skript zu überschreiben.