Ich versuche, PHP neu zu kompilieren, aber ./configure schlägt fehl bei:
configure: error: Cannot find OpenSSL's <evp.h>
Ich habe LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL installiert.
--with-openssl=/usr/include/openssl
wenn ich es mit versuche
--with-openssl
sagt mir:
configure: error: OpenSSL-Bibliotheken können nicht gefunden werden
Wo sind die **** das Problem?
PS Php ist 5.2.5, Betriebssystem ist Ubuntu
libcurl4-openssl-dev
unterscheidet sich vonlibssl-dev
?Um PHP-5.3 unter Debian Wheezy zu erstellen, müssen Sie Folgendes tun, um diesen Fehler zu beheben.
Dann müssen Sie mit den folgenden enthalten konfigurieren
quelle
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. Ich habe eine Anleitung zum Kompilieren von PHP mit Erweiterungen geschrieben.Vorausgesetzt, Sie haben bereits die OpenSSL-Bibliotheken und -Header-Dateien (auf RPM-Systemen befinden sich diese im Paket xxxx-devel) ...
Das Problem scheint sich daraus zu ergeben, wie
configure
Abhängigkeiten aufgelöst werden, die im Dateisystem verteilt sind. Um den Code zu kompilieren, muss der Comiler wissen, wo sich die Header befinden. Um den Code zu verlinken, muss der Linker wissen, wo sich die Bibliotheken befinden.Das include-Verzeichnis enthält die include-Datei, aber pkg-config schlägt fehl, da sich die Bibliothek nicht in / usr / include / openssl befindet, sondern in / usr / lib
Führen Sie configure erneut mit / usr als Verzeichnis aus:
Der als Argument übergebene Pfad wird durchsucht, um die relevanten Ressourcen zu finden.
quelle
php-7.1.12
aufDebian Jessie
. Vielen DankEin weiterer Grund
./configure
könnte sein, dass Sie nichtpkg-config
installiert haben, wie in meinem Fall mit PHP7 und Debian Jessie:quelle
Um php-5.4.45 auf debian 8.1 (Jessie) zu kompilieren, musste ich:
Danach konnte ich es einfach mit kompilieren
--with-openssl
quelle
Ich habe das Problem behoben, indem ich zusätzliche Bibliotheken installiert habe
quelle
Auf centos7 Installieren Sie openssl-devel
yum install openssl-devel
quelle
Sie müssen bei der Konfiguration helfen, um herauszufinden, wo nach der Datei evp.h gesucht werden soll, da diese standardmäßig nach Verzeichnissen sucht und ihnen fest codierte Suffixe hinzufügt, um sie zu finden. Ich habe die Details in meiner Wiki-Seite für diejenigen, die die Lösung verstehen wollen, gespeichert. Folgendes hat bei mir funktioniert:
YMMV (Pfade sind unterschiedlich). Wenn dies für Sie nicht funktioniert hat, überprüfen Sie die Wiki-Seite , um herauszufinden, welche Pfade Sie verwenden müssen.
quelle
Ich hatte das gleiche Problem auf Fedora 19, obwohl OpenSSL installiert war.
Ich musste openssl-devel.i686 installieren, was ich durch eine generische Suche nach allen Paketen im Zusammenhang mit ssl fand:
Dann habe ich configure erneut mit Erfolg ausgeführt:
quelle
Nur mein Feedback: Nachdem ich dieses SSL-Problem in diesem Beitrag gelöst habe, habe ich es komplett aufgegeben, PHP 5.3 zu kompilieren, da es bei zend dom-Erweiterungen in der Mitte fehlgeschlagen ist . Es gibt Ubuntu 12.04, das noch 5.3.10 PHP an Bord hat. Seien Sie vorsichtig, php-fpm löschte damals Umgebungsvariablen. Seien Sie also nicht überrascht, wenn Sie beispielsweise keine globalen Variablen vom Docker übergeben können.
quelle