J'essaie de recompiler PHP, mais ./configure échoue à:
configure: error: Cannot find OpenSSL's <evp.h>
J'ai LibSSL 1.0.0, LibSSL 0.9.8, LibSSL-Dev, OpenSSL installé.
--with-openssl=/usr/include/openssl
quand j'essaye avec
--with-openssl
dit moi:
configure: error: impossible de trouver les bibliothèques OpenSSL
Où sont les **** le problème?
PS Php est 5.2.5, OS est Ubuntu
libcurl4-openssl-dev
différent delibssl-dev
?Pour construire php-5.3 sur Debian Wheezy, vous avez besoin des éléments suivants pour corriger cette erreur.
Ensuite, vous devez configurer avec les éléments suivants
la source
--with-php-config /usr/local/src/php-x.x.x/scripts/php_config
. J'ai écrit un guide pour compiler PHP avec des extensions.En supposant que vous ayez déjà les bibliothèques OpenSSL et les fichiers d’en-tête (sur les systèmes rpm, ces derniers sont dans le paquet xxxx-devel) ...
Le problème semble provenir de la façon dont
configure
les dépendances qui sont distribuées dans le système de fichiers sont résolues. Pour compiler le code, le compilateur doit savoir où se trouvent les en-têtes. Pour lier le code, l'éditeur de liens doit savoir où se trouvent les bibliothèques.Le répertoire include contient le fichier include, mais pkg-config échoue car la bibliothèque ne se trouve pas dans / usr / include / openssl, mais dans / usr / lib.
Exécutez à nouveau configure avec / usr comme répertoire:
Le chemin passé en tant qu'argument est recherché pour trouver les ressources pertinentes.
la source
php-7.1.12
surDebian Jessie
. MerciUne autre raison
./configure
peut échouer parce que vous n'avez paspkg-config
installé, comme dans mon cas avec PHP7 et Debian Jessie:la source
Pour compiler php-5.4.45 sur debian 8.1 (Jessie), je devais:
Après cela, je pourrais le compiler en utilisant simplement
--with-openssl
la source
J'ai résolu le problème en installant des bibliothèques supplémentaires
la source
Sur centos7, installez openssl-devel
yum install openssl-devel
la source
Vous devez vous aider à configurer pour savoir où chercher le fichier evp.h, car par défaut, il recherchera des répertoires et leur ajoutera des suffixes codés en dur pour le trouver. J'ai gardé les détails dans ma page wiki pour ceux qui veulent comprendre la solution. Voici ce qui a fonctionné pour moi:
YMMV (les chemins sont différents). Si cela ne fonctionne pas pour vous, consultez la page du wiki , cela vous aidera à déterminer les chemins à mettre.
la source
J'ai eu le même problème sur Fedora 19 malgré l'installation d'OpenSSL.
J'ai dû installer openssl-devel.i686 que j'ai trouvée en effectuant une recherche générique pour tous les paquets liés à ssl:
Ensuite, j'ai de nouveau exécuté configure avec succès:
la source
Juste mes commentaires: Après avoir résolu ce problème SSL de cet article, j'ai complètement abandonné la compilation de PHP 5.3 car il échouait au-dessus des extensions de Zend Dom au milieu, j'ai trouvé quelques correctifs et j'ai décidé de laisser tomber ce problème. . Il y a Ubuntu 12.04 qui a encore 5.3.10 php à bord. Attention, php-fpm efface à l'époque les variables d'environnement. Donc, ne soyez pas surpris lorsque vous ne pouvez pas transmettre les variables globales de docker par exemple.
la source