Компиляция php с curl, где установлен curl? - PullRequest
40 голосов
/ 12 февраля 2011

Мне нужно указать каталог при компиляции 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

Ответы [ 5 ]

93 голосов
/ 12 февраля 2011

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

11 голосов
/ 12 января 2018

Для 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
2 голосов
/ 12 февраля 2011

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

0 голосов
/ 12 июля 2012

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 голосов
/ 12 февраля 2011

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...