Пытаясь установить 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,
-
Установите PHP Pear, если еще не установлен:
# yum install php-pear
-
Установите GCC, если еще не установлен:
# yum install gcc
-
Установите cURL, если еще не установлен:
# yum install curl-devel
-
Установите следующие библиотеки, если они еще не установлены:
# yum install php-devel
# yum install zlib-devel
# yum install pcre-devel
-
Начните основную установку:
# pecl install pecl_http
-
Добавьте следующую строку в файл /etc/php.ini
extension=raphf.so
extension=propro.so
extension=http.so
-
Перезапустите сервер 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
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
И, не забудьте прочитать Инструкции мастера