can't install php-devel on centos

2019-01-22 13:49发布

问题:

I need help with installation of php-devel (I need it, cause it has phpize, which is necessary to install eAccelerator). But when I try to install php-devel with yum install php-devel it gives me the following errors:

# 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

I have no idea what to do with these errors. And I have php 5.3.3 installed (phpinfo() says that), so don't understand why in this list I can see Installed: php-5.4...

回答1:

Rather than running yum install php-devel you needed to run yum --enablerepo=remi,remi-php54 install php-devel .

In short, just specifying which php-devel version you wanted from the remi repo. In your case you had php54 installed from remi so you needed to add in "remi-php54" . That would have successfully installed php-devel without the downtime.



回答2:

What I did was:

yum search php53

and it showed the php-devel file to install. Once I did the search and found the correct devel package, I simply copied and pasted the entire name after yum install. I executed

yum install php53-devel.x86_64

to get it



回答3:

If you have php 5.5.x, centos 6.5 64 try this

yum install php55w-devel

You will need also gcc

yum install gcc.x86_64


回答4:

sudo yum --enablerepo=remi install php-devel


回答5:

php was installed from Remi's repository. You will need to either downgrade to the stock php, or get php-devel from the same place.



回答6:

Taking into consideration that I have different things installed from different repos, the only way was to delete all packages installed from Remi's repo and install standard packages with yum.

1) List all packages installed from some strange repo (in my case @remi), e.g. yum list installed | grep remi.

2) Remove all packages completely from the system with yum remove <package_name>

NOTE: after httpd restarting - all sites will DIE!

3) Quickly install all bunch of things you need, e.g. yum install php-mysql php-gd php-imap php-ldap php-mbstring php-odbc php-pear php-xml php-xmlrpc etc.

4) Restart httpd and start mysql server.

5) Your sites are alive again.

The only thing why I did all this is cause I wanted to install eAccelerator for php to speed it up a little bit (and it's installation was impossible because of remi's repo packages), and I'm happy that I did it! All scripts works 2-10 times faster (I could not even imagine that my sites can respond so fast).



回答7:

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



回答8:

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

worked for me