我正尝试在我的 CentOS 服务器上安装 php_http
PHP 扩展。
我已经做到了:
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
,我觉得很奇怪。
我不完全确定这里发生了什么/我做错了什么。
编辑:我正在使用以下存储库:
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 上,
-
如果尚未安装,请安装 PHP Pear:
# yum install php-pear
如果尚未安装 GCC ,请安装 GCC:
# yum install gcc
如果尚未安装 cURL,请安装 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
步骤 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/中看到