web-dev-qa-db-fra.com

Compiler php avec curl, où est installé curl?

Je dois spécifier un répertoire lors de la compilation de PHP avec --with-curl=

Le binaire curl est situé à /usr/bin/curl

curl -V me donne

curl 7.15.5 (x86_64-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5

locate curl me donne

/usr/bin/curl
/usr/lib/libcurl.so.3
/usr/lib/libcurl.so.3.0.0
/usr/lib64/libcurl.so.3
/usr/lib64/libcurl.so.3.0.0

supprimé/usr/share/... et autres fichiers non pertinents

METTRE À JOUR

J'ai essayé --with-curl=/usr/lib64 et --with-curl=/usr/lib bien que je sois à peu près sûr que ce soit en 64 bits.

checking for cURL support... yes
checking if we should use cURL for url streams... no
checking for cURL in default path... not found
configure: error: Please reinstall the libcurl distribution -
    easy.h should be in <curl-dir>/include/curl/

SOLUTION

PHP nécessite curl-devel

38
HyderA

Aucun de ceux-ci ne vous permettra de compiler PHP avec cURL activé.

Afin de compiler avec cURL, vous avez besoin des fichiers d’en-tête libcurl (fichiers .h). Ils se trouvent généralement dans /usr/include/curl. Ils sont généralement regroupés dans un package séparé development.

Par exemple, pour installer libcurl dans Ubuntu:

Sudo apt-get install libcurl4-gnutls-dev

Ou CentOS:

Sudo yum install curl-devel

Ensuite, vous pouvez simplement faire:

./configure --with-curl # other options...

Si vous compilez cURL manuellement, vous pouvez spécifier le chemin d'accès aux fichiers sans le suffixe lib ou include. (par exemple: /usr/local si les en-têtes cURL sont dans /usr/local/include/curl).

89
netcoder

Pour Ubuntu 17.0 +

Ajouter à @netcoder la réponse ci-dessus, Si vous utilisez Ubuntu 17+, l'installation des fichiers d'en-tête libcurl représente la moitié de la solution. Le chemin d'installation dans Ubuntu 17.0+ est différent du chemin d'installation dans l'ancienne version d'Ubuntu. Après l’installation de libcurl, vous aurez toujours l’erreur "cURL introuvable". Vous devez effectuer une étape supplémentaire (comme suggéré par @minhajul dans la section commentaire OP).

Ajoutez un lien symbolique dans/usr/include du dossier d'installation de cURL (le chemin d'installation de cURL dans Ubuntu 17.0.4 est/usr/include/x86_64-linux-gnu/curl). 

Mon serveur fonctionnait sous Ubuntu 17.0.4, les commandes pour activer le support de cURL étaient

Sudo apt-get install libcurl4-gnutls-dev

Créez ensuite un lien vers l'installation de cURL

cd /usr/include
Sudo ln -s x86_64-linux-gnu/curl
8
Usman Shaukat

Essayez simplement --with-curl, sans spécifier d’emplacement, et voyez s’il le trouvera tout seul.

2
Rob Williams

php curl lib est juste un wrapper de cUrl, vous devez donc d’abord installer cUrl . Téléchargez le code source de cUrl sur votre serveur linux. Ensuite, utilisez les commandes suivantes pour installer:

tar zxvf cUrl_src_taz
cd cUrl_src_taz
./configure --prefix=/curl/install/home
make
make test    (optional)
make install
ln -s  /curl/install/home/bin/curl-config /usr/bin/curl-config

Ensuite, copiez les fichiers de tête dans "/ curl/install/home/include /" dans "/ usr/local/include". Après toutes les étapes ci-dessus effectuées, la configuration de l'extension php curl pourrait trouver le curl d'origine, et vous pouvez utiliser la méthode d'extension php standard pour installer php curl.
J'espère que ça vous aide :)

0
bourneli

Si vous allez compiler une version 64bit (x86_64) de PHP, utilisez: /usr/lib64/

Pour les architectures (i386 ... i686), utilisez /usr/lib/

Je recommande de compiler php sur la même architecture que Apache. Comme vous utilisez un Linux 64 bits, votre Apache est également compilé pour x86_64.

0
Bob Fanger