Подтвердить что ты не робот

Компиляция 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/... и другие нерелевантные файлы

UPDATE

Пробовал --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

4b9b3361

Ответ 1

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

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

Например, для установки 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).

Ответ 2

Для 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

Ответ 3

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

Ответ 4

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

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

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

Ответ 5

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 может найти исходный завиток, и вы можете использовать стандартный метод расширения php для установки php curl.
Надеюсь, это вам поможет:)