Estoy tratando de recompilar PHP, pero ./configure falla en:
configure: error: Cannot find OpenSSL's <evp.h>
Tengo instalado LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL.
--with-openssl=/usr/include/openssl
cuando lo intento con
--with-openssl
me dice:
configure: error: no se pueden encontrar las bibliotecas de OpenSSL
¿Dónde están el problema?
PS Php es 5.2.5, OS es Ubuntu

libcurl4-openssl-devdiferente delibssl-dev?Para compilar php-5.3 en Debian wheezy necesita lo siguiente para corregir este error.
Luego debe configurar con lo siguiente incluido
fuente
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config. He escrito un PHP para compilar con extensiones.Suponiendo que ya tiene las bibliotecas OpenSSL y los archivos de encabezado (en sistemas rpm, estos últimos están en el paquete xxxx-devel) ...
El problema parece surgir de cómo
configureresuelve las dependencias que se distribuyen alrededor del sistema de archivos. Para compilar el código, el comiler necesita saber dónde están los encabezados. Para vincular el código, el vinculador necesita saber dónde están las bibliotecas.El directorio de inclusión tiene el archivo de inclusión, pero pkg-config falla porque la biblioteca no está en / usr / include / openssl, está en / usr / lib
Ejecutando configure nuevamente con / usr como el directorio:
Se busca la ruta pasada como argumento para encontrar los recursos relevantes.
fuente
php-7.1.12enDebian Jessie. GraciasOtra razón
./configurepodría fallar es porque no tienepkg-configinstalado, como en mi caso con PHP7 y Debian Jessie:fuente
Para compilar php-5.4.45 en Debian 8.1 (Jessie) tuve que:
Después de eso podría compilarlo simplemente usando
--with-opensslfuente
Solucioné el problema instalando bibliotecas adicionales
fuente
En centos7 Instalar openssl-devel
yum install openssl-develfuente
Debe ayudar a configurar la búsqueda de dónde buscar el archivo evp.h, porque de forma predeterminada buscará directorios y agregará sufijos codificados para encontrarlo. He guardado los detalles en mi página wiki para aquellos que quieran entender la solución. Esto es lo que funcionó para mí:
YMMV (las rutas son diferentes). Si eso no funcionó para ti, revisa la página wiki , te ayudará a descubrir qué caminos poner.
fuente
Tuve el mismo problema en Fedora 19 a pesar de tener instalado OpenSSL.
Tuve que instalar openssl-devel.i686 que encontré al hacer una búsqueda genérica de todos los paquetes relacionados con ssl:
Luego ejecuté configure nuevamente con éxito:
fuente
Solo mi comentario: después de resolver este problema de SSL de esta publicación, me he dado por vencido en compilar php 5.3 porque falló aún más en las extensiones zend dom en el medio, encontré algunos parches y decidí dejar este alboroto . Hay ubuntu 12.04 que todavía tiene 5.3.10 php a bordo. Tenga cuidado php-fpm en ese entonces borrando las variables de entorno. Por lo tanto, no se sorprenda cuando no pueda pasar variables globales de Docker, por ejemplo.
fuente