可以';t在centos上安装php-devel


can't install php-devel on centos

我需要安装php-devel的帮助(我需要它,因为它有phpize,这是安装eAccelerator所必需的)。但是,当我尝试用yum install php-devel安装php-devel时,它会给我以下错误:

# yum install php-devel
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
 * base: centos.itt-consulting.com
 * epel: mirror.yandex.ru
 * extras: centos.itt-consulting.com
 * passenger: mirror.hmdc.harvard.edu
 * updates: centos.itt-consulting.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-devel.x86_64 0:5.3.3-14.el6_3 will be installed
--> Processing Dependency: php = 5.3.3-14.el6_3 for package: php-devel-5.3.3-14.el6_3.x86_64
--> Finished Dependency Resolution
Error: Package: php-devel-5.3.3-14.el6_3.x86_64 (updates)
           Requires: php = 5.3.3-14.el6_3
           Installed: php-5.4.6-1.el6.remi.x86_64 (@remi-test)
               php = 5.4.6-1.el6.remi
           Available: php-5.3.3-3.el6_2.8.x86_64 (base)
               php = 5.3.3-3.el6_2.8
           Available: php-5.3.3-14.el6_3.x86_64 (updates)
               php = 5.3.3-14.el6_3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

我不知道该怎么处理这些错误。我安装了php 5.3.3(phpinfo()这么说),所以不明白为什么在这个列表中我可以看到Installed: php-5.4...

您需要运行yum --enablerepo=remi,remi-php54 install php-devel,而不是运行yum install php-devel

简而言之,只需指定您想要从remi-repo中获得的php-devel版本即可。在您的案例中,您从remi安装了php54,因此需要添加"remi-php54"。这样就可以在没有停机的情况下成功安装php-devel。

我所做的是:

yum search php53

它显示了要安装的php-devel文件。一旦我搜索并找到了正确的devel包,我就简单地在yum-install之后复制并粘贴了整个名称。我执行

yum install php53-devel.x86_64

获取

如果你有php5.5.x,centos6.564,试试这个

yum install php55w-devel

您还需要gcc

yum install gcc.x86_64

php是从Remi的存储库中安装的。你需要降级到股票php,或者从同一个地方获得php-devel

sudo yum --enablerepo=remi install php-devel

考虑到我从不同的repo安装了不同的东西,唯一的方法是删除Remi的repo中安装的所有软件包,并使用yum安装标准软件包。

1) 列出从某个奇怪的repo(在我的例子中是@remi)安装的所有软件包,例如yum list installed | grep remi

2) 使用yum remove <package_name> 从系统中完全移除所有包

注意:httpd重新启动后,所有站点都将死亡!

3) 快速安装您需要的所有东西,例如yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc

4) 重新启动httpd并启动mysql服务器。

5) 您的网站再次活跃起来。

我做这一切的唯一原因是,我想安装适用于php的eAccelerator来加快速度(由于remi的repo包,无法安装),我很高兴我做到了!所有脚本的工作速度都快2-10倍(我甚至无法想象我的网站能如此快速地响应)。

关于最初的问题(安装eAccelerator)。

这个项目已经死了,而且从来没有使用过PHP>=5.4。

因此,如果您需要操作码缓存,请选择一个维护的缓存。我建议使用"opcache",这是由PHP项目维护的官方缓存,自5.5起就包含在PHP-src中,并在pecl 5.4中提供。

如果您使用"remi"存储库,在尝试构建扩展之前,请首先检查存储库中是否有可用的扩展,因为大多数PECL扩展都以RPM的形式提供,请参阅http://blog.remirepo.net/pages/PECL-extensions-RPM-status

yum --enablerepo=remi,remi-php55 install php55-devel 

为我工作

对于PHP 7.2及类似版本,以下内容适用于我(请注意remi-hp72

sudo yum --enablerepo=remi,remi-php72 install php-devel  

如果这是关于为centos安装xdebug需求,那么:

sudo yum --enablerepo=remi,remi-php72 install php-devel autoconf automake

只需键入:

sudo nano/etc/yum.conf然后删除php*

然后类型:

百胜安装--enablerepo-remi-php-pearr-php-devel