2011-11-22 161 views
6

我安裝了所有東西(Apache,PHP,MySQL和phpMyAdmin)並且不使用匯編,一切正常,直到現在除了phpMyAdmin。phpMyAdmin - MySQL擴展缺失

我遇到的問題是,該錯誤消息指出,「MySQL擴展缺失」,當我試圖調用:

本地主機/ phpMyAdmin的/ index.php文件

而且當我打電話

本地主機/ phpMyAdmin的/設置/ index.php文件

我有兩個消息,我如果假定不知道是這樣的:

Bzip2壓縮和解壓縮需要在此係統上不可用的函數(bzopen, bzcompress)。

和:

ZIP解壓縮的要求作爲本系統中不可用 函數(zip_open)。

有什麼建議嗎?

+0

如果你用<?php phpinfo()創建一個php文件, ?>在裏面,是在那裏加載的mysql擴展嗎?如果沒有,你需要在你的php.ini中激活它 –

回答

8

首先確保您已正確安裝mysql。你可以通過檢查你是否可以使用mysql命令promp來訪問mysql來確保它。所以,如果你的MySQL正在工作,那麼可能它不會加載。對於下面給出的步驟

首先,你必須找到你的php.ini。它可以在任何地方,但如果你創建一個小的PHP文件,它會告訴你它在哪裏。只要看看加載的配置文件的路徑。 常見的地方包括/ etc/apache /,/etc/php4/apache2/php.ini,/etc/php5/apache2/php.ini甚至是/usr/local/lib/php.ini,它可能是Windows的C: \用戶\用戶名\ PHP \ php.ini

編輯您的服務器的php.ini並尋找以下行。從行首移除';'並重新啓動Apache。事情應該現在正常工作!

;extension=mysql.so 

應該成爲

extension=mysql.so 

對於windows這將是

;extension=mysql.dll 

應該成爲

extension=mysql.dll 
1

您的安裝缺少一些php模塊,應在phpmyadmin自述文件中包含所需模塊的列表。如果您最近啓用了這些模塊,請嘗試重新啓動apache服務/守護程序。

編輯:看起來,文檔中沒有單獨的「啓用這些模塊」,因此請在您的php.ini中啓用mysqlmysqli(您可能需要先安裝它)。

如果您不打算在phpMyAdmin中上傳或下載壓縮文件,這兩條消息並不重要。如果是這樣,請啓用zlib和/或bz2模塊。

3

一些linux發行版有一個php_mysqlphp_mysqli包要安裝。

0

只是檢查你的php.ini文件,在這個文件中分號( ;)用於評論 如果你看到然後刪除分號;。

;extension=mysql.dll 

現在您的分機啓用,但您需要重新啓動appache

extension=mysql.dll 
+1

非常感謝你們,但我必須做更多的事情,那就是將libmysql.dll移動到Windows的System32文件夾中,如PHP手冊中所述 - 將它添加到Windows PATH應該也可以工作,但是這通常不適用於我。 – Carpet

3

加載MySQL的DLL,即當你需要把完整路徑在PHP INI: -

extension = c:/php54/ext/php_mbstring.dll
extension = c:/php54/ext/php_mysql.dll

然後你不需要將它們移動到Windows文件夾。

+0

如果尚未設置「extension_dir」,則只需爲每個擴展名添加路徑。設置「extension_dir」要比將路徑添加到每個擴展名要容易得多。例如:extension_dir =「c:/ php/ext」 – ironarm

1

在我來說,我必須安裝擴展:

yum install php php-mysql httpd 

,然後重新啓動Apache:

service httpd restart 

這解決了這個問題。

2

就像別人說你需要從刪除 ';':
;extension=php_mysql.dll
;extension=php_mysqli.dll

在你的php.ini使mysql和mysqli的擴展。但是最重要的是所有,你應該在你的php.ini中設置extension_dir指向你的擴展目錄。大部分時間默認爲「ext」。您應該將其更改爲絕對到擴展文件夾的路徑。即如果你的驅動器C上安裝了xampp,那麼C:/xampp/php/ext是ext文件夾的絕對路徑,它應該像一個魅力一樣工作!

3

我只是添加

apt-get install php5-mysqlnd 

這將要求從 「PHP5-MySQL的」 mysql.so覆蓋。

這個工作適合我。

0

安裝bzip2zip PHP擴展解決了我的問題在Ubuntu:

sudo apt-get install php7.0-bz2 
sudo apt-get install php7.0-zip 

使用php(you version)-(extension)安裝和啓用任何在phpMyAdmin的自述缺少所需的模塊。

0

我有類似的問題,但它並沒有幫助在我的php.ini中添加extension = mysql.so。事實證明,mysql.so文件不在我的擴展文件夾中,也不在我的機器上的任何其他地方。通過下載php源代碼並手動構建擴展,然後將其複製到擴展文件夾解決此問題。