2013-02-04 26 views
1

我最近从MySQL 5.5切换到mariadb 5.5,但现在看来mysqli的PHP扩展将不会加载。我收到以下错误:“版本libmysqlclient_18未在文件libmysqlclient.so.18中定义”当加载mysqli扩展

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/modules/mysqli.so' - /usr/lib/php/modules/mysqli.so:symbol mysql_client_errors,版本libmysqlclient_18不是在文件libmysqlclient.so.18定义的链接时参考未知在线0

我检查我的/ usr/lib中/ MySQL的/,并具备以下条件:

lrwxrwxrwx 1 root root  26 Jan 2 23:56 libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0 
-rwxr-xr-x 1 root root 2140588 Dec 23 2010 libmysqlclient_r.so.16.0.0 
lrwxrwxrwx 1 root root  24 Jan 2 23:56 libmysqlclient.so.16 -> libmysqlclient.so.16.0.0 
-rwxr-xr-x 1 root root 2146532 Dec 23 2010 libmysqlclient.so.16.0.0 
lrwxrwxrwx 1 root root  24 Feb 4 03:00 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0 
lrwxrwxrwx 1 root root  29 Feb 4 01:25 libmysqlclient.so.18.0.0 -> /usr/lib/libmysqlclient.so.18 

而且in/usr/lib/

-rw-r--r-- 1 root root 3516274 Jan 29 17:50 libmysqlclient.a 
lrwxrwxrwx 1 root root  16 Feb 4 03:50 libmysqlclient_r.a -> libmysqlclient.a 
lrwxrwxrwx 1 root root  17 Feb 4 04:03 libmysqlclient_r.so -> libmysqlclient.so 
lrwxrwxrwx 1 root root  26 Feb 4 03:00 libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0 
-rwxr-xr-x 1 root root 1890068 Jan 29 17:49 libmysqlclient_r.so.15.0.0 
lrwxrwxrwx 1 root root  26 Feb 4 03:00 libmysqlclient_r.so.16 -> libmysqlclient_r.so.16.0.0 
-rwxr-xr-x 1 root root 2039444 Jan 29 17:49 libmysqlclient_r.so.16.0.0 
lrwxrwxrwx 1 root root  17 Feb 4 04:03 libmysqlclient_r.so.18 -> libmysqlclient.so 
lrwxrwxrwx 1 root root  17 Feb 4 04:03 libmysqlclient_r.so.18.0.0 -> libmysqlclient.so 
lrwxrwxrwx 1 root root  20 Feb 4 04:03 libmysqlclient.so -> libmysqlclient.so.18 
lrwxrwxrwx 1 root root  24 Feb 4 03:00 libmysqlclient.so.15 -> libmysqlclient.so.15.0.0 
-rwxr-xr-x 1 root root 1881264 Jan 29 17:49 libmysqlclient.so.15.0.0 
lrwxrwxrwx 1 root root  24 Feb 4 03:00 libmysqlclient.so.16 -> libmysqlclient.so.16.0.0 
-rwxr-xr-x 1 root root 2029136 Jan 29 17:49 libmysqlclient.so.16.0.0 
lrwxrwxrwx 1 root root  24 Feb 4 04:03 libmysqlclient.so.18 -> libmysqlclient.so.18.0.0 
-rwxr-xr-x 1 root root 4572480 Jan 29 17:28 libmysqlclient.so.18.0.0 
lrwxrwxrwx 1 root root  24 Feb 2 12:23 libmysqlclient.so.18.bak -> libmysqlclient.so.18.0.0 
-rw-r--r-- 1 root root 17728804 Jan 29 17:50 libmysqld.a 
lrwxrwxrwx 1 root root  15 Feb 4 03:00 libmysqld.so -> libmysqld.so.18 
-rwxr-xr-x 1 root root 51104132 Jan 29 17:48 libmysqld.so.18 
-rw-r--r-- 1 root root  5590 Jan 29 17:49 libmysqlservices.a 

这是在CentOS 6.3上

回答

1

我一直有和你一样的问题,这里是我提出的解决方案。我使用MariaDB 5.5运行CentOS 6.3并运行PHP 5.4.11,但在此解决方案中我恢复为PHP 5.4.10。我绝不是Linux大师,所以拿一点盐来说吧。

我设法让MariaDB在MySQLi下正常工作,并且不再因通过yum卸载PHP而收到此错误。然后我使用这里给出的说明重新安装它http://www.webtatic.com/packages/php54/。我的PHP版本遇到了麻烦,是PHP 5.4.11,本指令网站提供的RPM版本是5.4.10版本,所以我认为在新版本中进行的更新会破坏某些内容。

因此,无论如何尝试安装PHP 5.4.10,看看它是否适用于您,或者如果它更容易使用该网站的说明。请记住包括“yum install php54w-mysql”作为您安装的软件包之一,以及您可能需要的任何其他软件包。

+0

经过更多的挖掘,看看这个错误报告,https://mariadb.atlassian.net/browse/MDEV-4127它实际上似乎是MariaDB 5.5.29 rpm的问题。希望问题应该用5.5.30来解决。 –