因此,我尝试从 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
现在一切正常。