Пытаясь установить PHP pecl на Centos

Я пытаюсь установить расширение php_http PHP на моем сервере CentOS.

Я сделал:

yum install php-pear

Но получим:

No package php-pear available

Но я могу сделать:

pear

И получите список команд из Pear.

То же самое для yum install pecl. Я могу сделать pecl, но pecl install pecl_http возвращает:

No releases available for package "pecl.php.net/pecl_http"
install failed

Тем не менее /usr/bin/pecl не является каталогом, который существует. Также sudo pecl install pecl_http возвращает sudo: pecl: command not found, который я нахожу довольно странным.

Я не совсем уверен, что происходит здесь/что я делаю неправильно.

edit: Я использую следующие репозитории:

base                         CentOS-6 - Base
epel                         Extra Packages for Enterprise Linux 6 - x86_64
extras                       CentOS-6 - Extras
rpmforge                     RHEL 6 - RPMforge.net - dag
updates                      CentOS-6 - Updates
vz-base                      vz-base
vz-updates                   vz-updates                                                            

Ответ 1

Шаг 1) импортируйте репозиторий REMI

CentOS 5

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm;
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm;

CentOS 6

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm;
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm;

Шаг 2) установите php-pear

yum --enablerepo=remi,remi-php55 install php-pear

Шаг 3) установите pecl_http

pecl install pecl_http

Ответ 2

На CentOS,

  1. Установите PHP Pear, если еще не установлен:

    # yum install php-pear
    
  2. Установите GCC, если еще не установлен:

    # yum install gcc
    
  3. Установите cURL, если еще не установлен:

    # yum install curl-devel
    
  4. Установите следующие библиотеки, если они еще не установлены:

    # yum install php-devel
    # yum install zlib-devel
    # yum install pcre-devel
    
  5. Начните основную установку:

    # pecl install pecl_http
    
  6. Добавьте следующую строку в файл /etc/php.ini

    extension=raphf.so
    extension=propro.so
    extension=http.so
    
  7. Перезапустите сервер Apache, чтобы можно было загрузить расширение

    # service httpd restart
    

Вы можете проверить, успешно ли он установлен или нет:

# pecl list

Ответ 3

Для других людей, имеющих эту проблему. Я обнаружил этот вопрос, пытаясь понять, почему у меня такая же проблема. Выключенная конфигурация по умолчанию у моего хостинг-провайдера заключалась в включении php* в директиву exclude для yum. Проверьте /etc/yum.conf и убедитесь, что пакет, который вы пытаетесь установить, не соответствует записи в директиве exclude.

Ответ 4

если вы используете php 7, вы можете попробовать это

yum install php70w-pear

если вы получаете какие-либо ошибки, обязательно удалите пакет груши из любых предыдущих попыток.

yum remove php-pear

Желаем удачи.

Ответ 5

Если вы используете php 5.4.x, лучшим вариантом репликации IMO является iuscommunity. Он очень стабилен и используется Rackspace для выполнения только PHP и нескольких других пакетов для CentOS.

rpm -Uhv http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm

yum install php54-pear

Помните, причина в том, что его php54-груша, а не php-pear, потому что 5.3 и 5.4 оба скомпилированы в репозитории. Вот список пакетов php → http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/repoview/development.languages.group.html

Я тестировал это, и он работает, но я использую только EPEL и iuscommunity REPO. Я избегаю использовать rpmforge самостоятельно.

Ответ 6

После просмотра большого количества потоков и установки груши и всего devtool я, наконец, решил установить это расширение:

yum install php-pecl-mongo

как я видел - https://madcoda.com/2012/12/install-mongodb-php-driver-in-centos-6-3/

Ответ 7

Centos 6.5 и php7:

sudo su -

yum install yum-utils

вы можете получить последнюю версию lua: http://pecl.php.net/package/lua

wget http://pecl.php.net/get/lua-2.0.4.tgz

tar -xvzf  lua-2.0.4.tgz

cd lua-2.0.4

mkdir  /usr/include/lua

mv * /usr/include/lua

yum install gcc

yum install php70w-pearl php70w-devel



yum install curl-devel

yum install zlib-devel

yum install pcre-devel

ln -s /usr/include/lua.h /usr/include/lua/lua.h

rpm -Uvh https://centos6.iuscommunity.org/ius-release.rpm

yum-config-manager --enable remi-php70

yum update 

yum --enablerepo=remi,remi-php70 install php70w-pear

yum install lua-devel lua-static

pecl install lua-2.0.4

Ответ 8

Независимо от вашего PHP-провайдера (IUS, Remi или Webtatic), пакет груши и расширения "должен" быть доступным там, без необходимости компилировать его из источников (что обычно не рекомендуется, особенно при производстве)

По крайней мере, "remi" предоставляет большинство расширений, см. список

Таким образом, установка должна быть такой простой, как

yum install php-pecl-http
yum install php-pecl-lua
etc

И, не забудьте прочитать Инструкции мастера