Kompilowanie php z curl, gdzie jest zainstalowany curl?

Muszę określić katalog podczas kompilacji php z --with-curl=

Binarny lok znajduje się w /usr/bin/curl

curl -V daje mi

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 daje mi

/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

usunięto / usr / share/... i inne nieistotne pliki

UPDATE

Próbowałem --with-curl=/usr/lib64 i --with-curl=/usr/lib chociaż jestem prawie pewien, że to 64 bit.

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/

Rozwiązanie

PHP wymaga curl-devel

Author: HyderA, 2011-02-12

5 answers

Żaden z nich nie pozwoli Ci skompilować PHP z włączonym cURL.

Aby skompilować z cURL, potrzebujesz plików nagłówkowych libcurl (.pliki h). Zwykle znajdują się w /usr/include/curl. Zazwyczaj są one połączone w oddzielny pakiet development .

Na przykład, aby zainstalować libcurl w Ubuntu:

sudo apt-get install libcurl4-gnutls-dev

Lub CentOS:

sudo yum install curl-devel

Wtedy możesz po prostu zrobić:

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

Jeśli kompilujesz cURL ręcznie, możesz określić ścieżkę do plików bez lib lub include sufiks. (np.: /usr/local jeśli nagłówki cURL są w /usr/local/include/curl).

 87
Author: netcoder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-25 04:17:39

Dla Ubuntu 17.0 +

Dodanie do @netcoder odpowiedzi powyżej, Jeśli używasz Ubuntu 17+, instalacja plików nagłówkowych libcurl to połowa rozwiązania. Ścieżka instalacji w ubuntu 17.0 + różni się od ścieżki instalacji w starszej wersji Ubuntu. Po zainstalowaniu libcurl nadal pojawi się błąd "cURL not found". Musisz wykonać jeden dodatkowy krok(zgodnie z sugestią @minhajul w sekcji komentarzy OP).

Dodaj dowiązanie symboliczne w /usr / include z folder instalacji cURL (ścieżka instalacji cURL w Ubuntu 17.0.4 to / usr / include/x86_64-linux-gnu / curl).

Mój serwer działał na Ubuntu 17.0.4, komendy włączające obsługę cURL były

sudo apt-get install libcurl4-gnutls-dev

Następnie Utwórz link do instalacji cURL

cd /usr/include
sudo ln -s x86_64-linux-gnu/curl
 6
Author: Usman Shaukat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-28 15:56:03

Spróbuj po prostu -- with-curl, bez podawania lokalizacji i sprawdź, czy znajdzie ją sam.

 2
Author: Rob Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-12 07:52:03

Jeśli zamierzasz skompilować 64bitową wersję(x86_64) PHP użyj: /usr/lib64/

Dla architektur (i386 ... i686) użyj /usr/lib/

Polecam kompilację php na tej samej architekturze co apache. Jak używasz 64-bitowego Linuksa i asume Twój apache jest również skompilowany dla x86_64.

 0
Author: Bob Fanger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-02-12 07:56:07

PHP curl lib jest tylko opakowaniem cUrl, więc przede wszystkim powinieneś zainstalować cUrl. Pobierz źródło cUrl na serwer linux. Następnie użyj następujących poleceń, aby zainstalować:

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

Następnie skopiuj pliki nagłówkowe z " / curl / install/home/ include /" do "/usr/local / include". Po wykonaniu wszystkich powyższych kroków konfiguracja rozszerzenia curl PHP może znaleźć oryginalny curl i możesz użyć standardowej metody rozszerzenia php, aby zainstalować PHP curl.
Mam nadzieję, że ci to pomoże:)

 0
Author: bourneli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-12 10:35:36