无法在centos上安装php-devel

时间:2012-09-07 20:42:52

标签: php installation centos package yum

我需要帮助安装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...

9 个答案:

答案 0 :(得分:39)

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

简而言之,只需从remi repo中指定您想要的php-devel版本。在你的情况下你从remi安装了php54,所以你需要添加“remi-php54”。这样就可以在没有停机的情况下成功安装php-devel。

答案 1 :(得分:30)

我做的是:

yum search php53

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

yum install php53-devel.x86_64

得到它

答案 2 :(得分:3)

如果你有php 5.5.x,centos 6.5 64试试这个

yum install php55w-devel

您还需要gcc

yum install gcc.x86_64

答案 3 :(得分:2)

sudo yum --enablerepo=remi install php-devel

答案 4 :(得分:1)

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

答案 5 :(得分:1)

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

1)列出从一些奇怪的仓库(在我的情况下是@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)你的网站又活了。

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

答案 6 :(得分:1)

About the initial question (install eAccelerator).

This project is dead, and have never work with PHP >= 5.4.

So if you need an opcode cache, please choose a maintained one. I would recommend "opcache", the official cache maintained by the PHP project, included in php-src since 5.5, and available in pecl for 5.4.

And if you use "remi" repository, before trying to build an extension, check first if it is available in the repository, as most of the PECL extensions are available as RPM, see http://blog.remirepo.net/pages/PECL-extensions-RPM-status

答案 7 :(得分:0)

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

为我工作

答案 8 :(得分:0)

对于PHP 7.2和类似版本,以下对我有用(请注意 remi-php72

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

如果这是关于为centos安装xdebug要求,则:

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