2011-02-12 31 views
36

necesito especificar un directorio al compilar PHP con --with-curl=Compilando php con curl, ¿dónde está curl instalado?

El binario de rizo se encuentra en /usr/bin/curl

curl -V me da

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 da

/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 

eliminado/usr/share/... y otros archivos irrelevantes

ACTUALIZACIÓN

Probado --with-curl=/usr/lib64 y --with-curl=/usr/lib aunque estoy seguro de que es de 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/ 

SOLUCIÓN

PHP requiere curl-devel

+2

de 64 bits de Ubuntu 17. ** y después de , el curl se mueve a/usr/include/x86_64-linux-gnu/curl, , simplemente haga un enlace simbólico cd/usr/include sudo ln -s x86_64-linux-gnu/curl – minhajul

+0

El comentario de @minhajul fue la solución para yo // – digitalextremist

Respuesta

83

Ninguno de estos le permitirá compilar PHP con cURL habilitado.

Para compilar con cURL, necesita los archivos de encabezado libcurl (archivos .h). Generalmente se encuentran en /usr/include/curl. Generalmente se incluyen en un paquete de desarrollo separado.

Por ejemplo, para instalar libcurl en Ubuntu:

sudo apt-get install libcurl4-gnutls-dev 

O CentOS:

sudo yum install curl-devel 

continuación, sólo puede hacer:

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

Si compila el enrollamiento de forma manual, puede especificar la ruta a los archivos sin el sufijo lib o include. (por ejemplo, /usr/local si los encabezados cURL están en /usr/local/include/curl).

+0

Es muy bueno instalar curl-devel en centos, de lo contrario, ¡es la respuesta correcta! ¡Gracias! – HyderA

+0

gAMBOOKa: Sí, mi mal, me di cuenta justo antes de ver tu comentario. Me alegro de que fue eso. :) – netcoder

+2

@gAMBOOKa: Siempre tenga en cuenta al compilar PHP (o cualquier programa C que sea), que necesitará los paquetes * devel * apropiados para cualquier extensión que desee compilar que use una biblioteca externa. – netcoder

0

Si vas a compilar una versión de 64 bits (x86_64) del uso de php: /usr/lib64/

Para arquitecturas (i386 ... i686) use /usr/lib/

Recomiendo compilar php a la misma arquitectura que apache. Como está utilizando un Linux de 64 bits, su apache también se compila para x86_64.

+0

Ap El dolor se compila para X86_64, así que es mi instalación de centOS. Como curl se instaló con él, supongo que Curl también tiene 64 bits. – HyderA

+0

Sí, el ejecutable curl es de 64 bits, pero también instaló versiones de 32 bits de la biblioteca (* .so archivos) así que la aplicación de 32 bits también se puede vincular con la biblioteca curl. –

2

Pruebe solo --with-curl, sin especificar una ubicación, y vea si lo encontrará por sí mismo.

+0

Lo hice, no lo pude encontrar en la ubicación predeterminada – HyderA

0

php curl lib es solo un contenedor de cUrl, entonces, antes que nada, debe instalar cUrl. Descargue la fuente cUrl a su servidor Linux.A continuación, utilice el seguimiento comandos para instalar:

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 

A continuación, copie los archivos de cabeza en el "/ rizo/instalar/home/include /" a "/ usr/local/include". Después de todos los pasos anteriores, la configuración de la extensión php curl podría encontrar el curl original, y puede usar el método de extensión php estándar para instalar php curl.
espero que le ayuda, :)

2

Para Ubuntu 17,0 +

Agregando a @netcoder respuesta anterior, Si está utilizando Ubuntu 17+, la instalación de los archivos de cabecera es la mitad de libcurl la solución porque la ruta de instalación es diferente a la ruta de instalación en la versión anterior de Ubuntu. cURL aún no se encontrará.

La solución simple es ir a la nueva ruta de instalación y crear un enlace en la carpeta/usr según lo sugerido por @minhajul en la sección de comentarios de OP.

Mi servidor estaba ejecutando Ubuntu 17.0.4, los comandos para habilitar el soporte cURL fueron

sudo apt-get install libcurl4-gnutls-dev 

A continuación, cree un enlace para rizar instalación

cd /usr/include 
sudo ln -s x86_64-linux-gnu/curl