2013-02-04 25 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來解決。 –