Компиляция 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
Ответы
Ответ 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.
Надеюсь, это вам поможет:)