【问题标题】:struggling to install PHP pecl on Centos努力在 Centos 上安装 PHP pecl
【发布时间】:2013-10-31 06:39:52
【问题描述】:

我正在尝试在我的 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                                                            

【问题讨论】:

  • 你在使用什么存储库?
  • @BenCarey 我已经编辑了我的问题以包含yum repolist 的一些输出。
  • 这确实是一个serverfault.com 的问题。我在这里根本看不到编程问题,没有冒犯。
  • @gwillie 随意标记它以进行迁移。
  • 在 CentOS 7 上我使用过:sudo yum --enablerepo=remi,remi-php72 install php-pear php-devel

标签: php linux centos pecl


【解决方案1】:

在 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

【讨论】:

  • 如果pecl最新的2.x版本不工作,用pecl卸载pecl_http卸载,再用pecl install pecl_http-1.7.6安装老版本,就可以正常工作了。
【解决方案2】:

第 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

【讨论】:

  • 我添加了 REMI repo 并尝试安装 php-pear 但它仍然找不到包。我应该补充一下,我使用的是 PHP 5.4.19
  • 在第 2 步中,它显示“没有可用的 php-pear 包。”请问有什么建议吗?
  • @Dashrath 试试yum --enablerepo=remi,remi-php55 install php5-pear
【解决方案3】:

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

【讨论】:

  • 我正在迁移 bluehost 上的站点,这似乎也是这种情况。该服务通常都由 whm / cpanel 管理,因此必须与此有关。
【解决方案4】:

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

yum install php70w-pear

如果您遇到任何错误,请务必从之前的任何尝试中卸载 pear 包

yum remove php-pear

祝你好运

【讨论】:

    【解决方案5】:

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

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

    yum 安装 php54-pear

    请注意,它的 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。

    【讨论】:

    • 我刚刚试过了,我仍然得到no package php54-pear available
    • 那你做错了。因为包在 repo 中。你总是可以这样做 rpm -Uhv dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/…
    • 同样的结果。老实说,我不再烦恼了。所以是的。
    【解决方案6】:

    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
    

    【讨论】:

      【解决方案7】:

      无论您的 PHP 提供程序是什么(IUS、Remi 或 Webtatic),pear 包和 pecl 扩展“应该”在那里可用,而无需从源代码编译它(通常不鼓励这样做,尤其是在生产环境中)

      至少“remi”提供了大多数扩展,见the list

      所以安装应该很简单

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

      别忘了阅读Wizard instructions

      【讨论】:

        【解决方案8】:

        在我终于意识到我的 WHM/cPanel 安装阻止了 yum 包之前,我几乎尝试了此列表中的所有内容。我必须通过 WHM 内的 Home > Software > Module Installers 安装所有 PECL 模块(我一直试图在这个特定场合安装 mongodb)(cpanel 文档说 you have to be logged in as root)。

        【讨论】:

          【解决方案9】:

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

          yum install php-pecl-mongo
          

          正如我所见 - https://madcoda.com/2012/12/install-mongodb-php-driver-in-centos-6-3/

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-09-15
            • 2014-05-10
            • 2023-02-15
            • 2012-04-21
            • 2021-05-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多