it-swarm-ru.tech

Компиляция php с curl, где установлен curl?

Мне нужно указать каталог при компиляции php с --with-curl=

Двоичный файл curl находится по адресу /usr/bin/curl

curl -V дает мне

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 дает мне

/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

удален/usr/share/... и другие не относящиеся к делу файлы

ОБНОВЛЕНИЕ

Пробовал --with-curl=/usr/lib64 и --with-curl=/usr/lib, хотя я почти уверен, что это 64 бит.

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/

РЕШЕНИЕ

PHP требует curl-devel

38
HyderA

Ни один из них не позволит вам скомпилировать PHP с включенным cURL.

Чтобы скомпилировать с помощью cURL, вам нужны заголовочные файлы libcurl (файлы .h). Они обычно находятся в /usr/include/curl. Как правило, они связаны в отдельном пакете development .

Например, чтобы установить libcurl в Ubuntu:

Sudo apt-get install libcurl4-gnutls-dev

Или CentOS:

Sudo yum install curl-devel

Тогда вы можете просто сделать:

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

Если вы компилируете cURL вручную, вы можете указать путь к файлам без суффикса lib или include. (например: /usr/local, если заголовки cURL находятся в /usr/local/include/curl).

89
netcoder

Для Ubuntu 17.0 +

Если добавить ответ @netcoder выше, Если вы используете Ubuntu 17+, установка заголовочных файлов libcurl - это половина решения. Путь установки в Ubuntu 17.0+ отличается от пути установки в более старой версии Ubuntu. После установки libcurl вы все равно получите ошибку «cURL not found». Вам нужно выполнить еще один шаг (как предложено @minhajul в разделе комментариев OP).

Добавьте символическую ссылку в/usr/include папки установки cURL (путь установки cURL в Ubuntu 17.0.4 - это/usr/include/x86_64-linux-gnu/curl). 

Мой сервер работал под управлением Ubuntu 17.0.4, команды для включения поддержки cURL были

Sudo apt-get install libcurl4-gnutls-dev

Затем создайте ссылку на установку cURL

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

Попробуйте просто --with-curl, без указания местоположения, и посмотрите, найдет ли он его сам.

2
Rob Williams

php curl lib - это просто оболочка cUrl, поэтому, прежде всего, вы должны установить cUrl . Загрузите исходный код cUrl на ваш linux-сервер. Затем используйте следующие команды для установки:

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

Затем скопируйте файлы заголовков в «/ curl/install/home/include /» в «/ usr/local/include». После того, как все вышеупомянутые шаги сделаны, конфигурация расширения php curl может найти оригинальный curl, и вы можете использовать стандартный метод расширения php для установки php curl.
Надеюсь, это поможет вам, :)

0
bourneli

Если вы собираетесь скомпилировать 64-битную версию (x86_64) использования php: /usr/lib64/

Для архитектур (i386 ... i686) используйте /usr/lib/

Я рекомендую компилировать php к той же архитектуре, что и Apache. Поскольку вы используете 64-битный Linux, я полагаю, ваш Apache также скомпилирован для x86_64.

0
Bob Fanger