努力在 Centos 上安装 PHP pecl


struggling to install PHP pecl on Centos

我正尝试在我的 CentOS 服务器上安装 php_http PHP 扩展。

我已经做到了:

yum install php-pear

但得到:

No package php-pear available

然而我可以做到:

pear

并从 Pear 获取命令列表。

yum install pecl也一样。我可以做peclpecl 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,我觉得很奇怪。

我不完全确定这里发生了什么/我做错了什么。

编辑:我正在使用以下存储库:

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                                                            

在 CentOS 上,

  1. 如果尚未安装,请安装 PHP Pear:

    # yum install php-pear
    
  2. 如果尚未安装 GCC
  3. ,请安装 GCC:

    # yum install gcc
    
  4. 如果尚未安装 cURL,请安装 cURL:

    # yum install curl-devel
    
  5. 安装
  6. 以下库(如果尚未安装):

    # yum install php-devel
    # yum install zlib-devel
    # yum install pcre-devel
    
  7. 开始主安装:

    # pecl install pecl_http
    
  8. 将以下行添加到/etc/php.ini 文件

    extension=raphf.so
    extension=propro.so
    extension=http.so
    
  9. 重新启动 apache 服务器,以便可以加载扩展

    # service httpd restart
    

您可以检查它是否安装成功:

# pecl list

步骤 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-p-par

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

步骤3)安装pecl_http

pecl install pecl_http

对于其他有这个问题的人。 我在试图弄清楚为什么我有同样的问题时发现了这个问题。 事实证明,我的托管服务提供商的默认配置是在 yum 的 exclude 指令中包含php*。 检查/etc/yum.conf,并确保尝试安装的包与 exclude 指令中的条目不匹配。

如果你运行的是PHP 7,你可能想试试这个

yum install php70w-pear

如果收到任何错误,请务必从以前的任何尝试中卸载 Pear 软件包

yum remove php-pear

祝你好运

如果您使用的是php 5.4.x,IMO最好使用的存储库是iuscommunity。 它非常稳定,被Rackspace用来只做PHP和其他一些CentOS的软件包。

转速 -超高压 http://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/ius-release-1.0-11.ius.centos6.noarch.rpm

百胜安装PHP54-梨

请注意,它的 php54-pear 而不是 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。

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

无论你的PHP提供者是什么(IUS,Remi或Webtatic),pear包和pecl扩展"应该"在那里可用,而不需要从源代码编译它(通常不鼓励这样做,特别是在生产环境中)

至少"remi"提供了大多数扩展,见列表

所以安装应该像

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

而且,不要忘记阅读向导说明

在我最终意识到我的 WHM/cPanel 安装阻止了 yum 软件包之前,我尝试了此列表中的几乎所有内容。我必须通过 WHM 中的家庭>软件>模块安装程序安装所有 PECL 模块(我被困在这个特定的位置上安装 mongodb)(cpanel 文档说您必须以 root 身份登录)。

在看了很多线程并安装了 pear 和所有 devtool 之后,我终于解决了安装这个扩展的问题:

yum install php-pecl-mongo

正如我在 - https://madcoda.com/2012/12/install-mongodb-php-driver-in-centos-6-3/中看到