加载mysqli扩展时“版本libmysqlclient_18未在文件libmysqlclient.so.18中定义”

时间:2013-02-04 04:15:59

标签: php mysql linux centos libmysql

我最近从mysql 5.5切换到mariadb 5.5,但现在看来mysqli的php扩展程序无法加载。我收到以下错误:

PHP警告:PHP启动:无法加载动态库'/usr/lib/php/modules/mysqli.so' - /usr/lib/php/modules/mysqli.so:符号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

在/ 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 个答案:

答案 0 :(得分:1)

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

我设法使用MySQLi使MariaDB正常工作,并通过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"作为您安装的软件包之一,以及您可能想要的任何其他软件包。