Próbuję ponownie skompilować PHP, ale ./configure kończy się niepowodzeniem pod adresem:
configure: error: Cannot find OpenSSL's <evp.h>
Mam zainstalowane LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL.
--with-openssl=/usr/include/openssl
kiedy próbuję z
--with-openssl
mówi mi:
configure: error: Nie można znaleźć bibliotek OpenSSL
Gdzie **** są problemem?
PS Php to 5.2.5, system operacyjny to Ubuntu
libcurl4-openssl-dev
różnilibssl-dev
?Aby zbudować php-5.3 na wheezy Debiana, potrzebujesz następujących rzeczy, aby naprawić ten błąd.
Następnie musisz skonfigurować przy użyciu następujących elementów
źródło
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. Napisałem jak skompilować PHP z rozszerzeniami.Zakładając, że masz już biblioteki OpenSSL i pliki nagłówkowe (w systemach rpm te ostatnie znajdują się w pakiecie xxxx-devel) ...
Problem wydaje się wynikać ze sposobu, w jaki
configure
rozwiązuje się zależności rozproszone wokół systemu plików. Aby skompilować kod, komiler musi wiedzieć, gdzie są nagłówki. Aby połączyć kod, linker musi wiedzieć, gdzie znajdują się biblioteki.Katalog dołączania zawiera plik dołączania, ale pkg-config kończy się niepowodzeniem, ponieważ biblioteki nie ma w / usr / include / openssl, a w / usr / lib
Ponownie uruchom konfigurację z / usr jako katalogiem:
Ścieżka przekazana jako argument jest przeszukiwana w celu znalezienia odpowiednich zasobów.
źródło
php-7.1.12
naDebian Jessie
. DziękujęInnym powodem
./configure
niepowodzenia może być brakpkg-config
instalacji, jak w moim przypadku z PHP7 i Debian Jessie:źródło
Aby skompilować php-5.4.45 na Debianie 8.1 (Jessie) musiałem:
Potem mogłem go skompilować za pomocą
--with-openssl
źródło
Rozwiązałem problem, instalując dodatkowe biblioteki
źródło
Na centos7 Zainstaluj openssl-devel
yum install openssl-devel
źródło
Musisz pomóc w ustaleniu, gdzie szukać pliku evp.h, ponieważ domyślnie skanuje katalogi i dodaje do nich przyrostki zakodowane na stałe, aby go znaleźć. Zachowałem szczegóły na mojej stronie wiki dla tych, którzy chcą zrozumieć rozwiązanie. Oto, co zadziałało dla mnie:
YMMV (ścieżki są różne). Jeśli to nie zadziałało, sprawdź stronę wiki , która pomoże ci znaleźć ścieżki do umieszczenia.
źródło
Miałem ten sam problem na Fedorze 19, mimo że zainstalowałem OpenSSL.
Musiałem zainstalować openssl-devel.i686, który znalazłem, przeprowadzając ogólne wyszukiwanie wszystkich pakietów związanych z ssl:
Następnie z sukcesem uruchomiłem konfigurację:
źródło
Tylko moja opinia: po rozwiązaniu problemu z ssl z postu thsi, całkowicie zrezygnowałem z kompilacji php 5.3, ponieważ nie udało mi się to później w rozszerzeniach zend dom w środku, znalazłem kilka łatek i postanowiłem porzucić to zamieszanie . Jest Ubuntu 12.04, które wciąż ma na pokładzie 5.3.10 php. Uważaj wtedy na php-fpm, usuwając zmienne środowiskowe. Nie zdziw się więc, gdy nie możesz na przykład przekazać zmiennych globalnych z okna dokowanego.
źródło