yum 依赖错误 - 查找错误版本的 php-mysql

yum 依赖错误 - 查找错误版本的 php-mysql

因此,我尝试从 MariaDB 5.5 升级到 10.0。(本质上是 MySQL 分支)安装说明说

yum remove mariadb-server mariadb-common mariadb-compat

然后重新安装新版本....但yum remove也删除了

php-mysql
php-pear-MDB2-Driver-mysql

现在,当我重新安装时php-msyql出现错误:

> yum install php-mysql
Loaded plugins: fastestmirror, replace
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirror.vcu.edu
 * centosplus: mirror.vcu.edu
 * epel: mirror.symnds.com
 * extras: mirror.cs.vt.edu
 * ius: mirror.symnds.com
 * rpmforge-extras: mirror.us.leaseweb.net
 * updates: mirrors.advancedhosters.com
 * webtatic: us-east.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.3.29-3.w5 will be installed
--> Processing Dependency: php-pdo = 5.3.29-3.w5 for package: php-mysql-5.3.29-3.w5.i386
--> Running transaction check
---> Package php-pdo.i386 0:5.3.29-3.w5 will be installed
--> Processing Dependency: php-common = 5.3.29-3.w5 for package: php-pdo-5.3.29-3.w5.i386
--> Running transaction check
---> Package php-common.i386 0:5.3.29-3.w5 will be installed
--> Processing Dependency: libcurl.so.3 for package: php-common-5.3.29-3.w5.i386
--> Finished Dependency Resolution
Error: Package: php-common-5.3.29-3.w5.i386 (webtatic)
           Requires: libcurl.so.3
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

为什么甚至要求安装 php-common???我已经安装了:

>yum list installed|grep php
php-pear-MDB2.noarch         2.5.0-0.9.b5.el6                   @epel           
php-php-gettext.noarch       1.0.11-3.el6                       @epel           
php53u.i686                  5.3.28-4.ius.centos6               @ius            
php53u-cli.i686              5.3.28-4.ius.centos6               @ius            
php53u-common.i686           5.3.28-4.ius.centos6               @ius            
php53u-devel.i686            5.3.28-4.ius.centos6               @ius            
php53u-gd.i686               5.3.28-4.ius.centos6               @ius            
php53u-mbstring.i686         5.3.28-4.ius.centos6               @ius            
php53u-mcrypt.i686           5.3.28-4.ius.centos6               @ius            
php53u-pdo.i686              5.3.28-4.ius.centos6               @ius            
php53u-pear.noarch           1:1.9.4-3.ius.centos6              @ius            
php53u-zts.i686              5.3.28-4.ius.centos6               @ius      

并且...我已经安装了 libcurl!

>yum list installed|grep libcurl
libcurl.i686                 7.19.7-40.el6_6.3                  @updates        
libcurl-devel.i686           7.19.7-40.el6_6.3                  @updates        

Google 表示,此版本的 libcurl 包含 libcurl.so.4 而不是 3。我查看了我的系统,发现有一个从 3 到 4 的符号链接:

>ll /usr/lib/libcurl.so*
lrwxrwxrwx 1 root root     16 Jan  1 02:00 /usr/lib/libcurl.so -> libcurl.so.4.1.1
lrwxrwxrwx 1 root root     12 Feb 16  2014 /usr/lib/libcurl.so.3 -> libcurl.so.4
lrwxrwxrwx 1 root root     16 Jan  1 01:59 /usr/lib/libcurl.so.4 -> libcurl.so.4.1.1
-rwxr-xr-x 1 root root 346084 Dec  7 23:50 /usr/lib/libcurl.so.4.1.1

我注意到它libcurl.so.3指向一个不存在的文件,并将其更新为指向 4.1.1......但仍然没有运气。

我应该怎么办??

看起来 yum 没有skip dependancy check,但我必须使用RPM -nodeps它来执行此操作。但人们说会发生不好的事情。

答案1

好的,我用以下方法解决了这个问题rpm --nodeps......

首先在rpmfind.net

wget ftp://rpmfind.net/linux/centos/6.6/os/i386/Packages/php-mysql-5.3.3-38.el6.i686.rpm
wget ftp://rpmfind.net/linux/centos/6.6/updates/i386/Packages/php-common-5.3.3-40.el6_6.i686.rpm
wget ftp://rpmfind.net/linux/centos/6.6/updates/i386/Packages/php-pdo-5.3.3-40.el6_6.i686.rpm

然后我运行了它们每一个,rpm -iv只是为了看看发生了什么,当然它们都抱怨缺少依赖项...所以我运行了它们,rpm -vi --nodeps现在一切正常。

相关内容