2013-07-27 87 views
3

這個問題在這裏已經問了幾次。但是,我遵循了方向,仍然找不到解決方案。嘗試使用WAMP查看PHPMyAdmin時出現PHP錯誤

我昨天安裝了WAMP(在Windows 7上),一切正常。今天啓動後,我試圖查看PHPMyAdmin時收到以下錯誤。

Fatal error: Call to undefined function mb_detect_encoding() in C:\wamp\apps\phpmyadmin4.0.4\libraries\php-gettext\gettext.inc on line 177 

從我讀,我需要確保該gdmbstring擴展功能。從我在下面的PHP.ini文件中看到的內容看起來像是這樣。

;extension=php_bz2.dll 
;extension=php_curl.dll 
;extension=php_dba.dll 
;extension=php_exif.dll 
;extension=php_fileinfo.dll 
extension=php_gd2.dll 
;extension=php_gettext.dll 
;extension=php_gmp.dll 
;extension=php_intl.dll 
;extension=php_imap.dll 
;extension=php_interbase.dll 
;extension=php_ldap.dll 
extension=php_mbstring.dll 
;extension=php_ming.dll 
;extension=php_mssql.dll 
extension=php_mysql.dll 
extension=php_mysqli.dll 
;extension=php_oci8.dll  
;extension=php_oci8_11g.dll 
;extension=php_openssl.dll 
;extension=php_pdo_firebird.dll 
;extension=php_pdo_mssql.dll 
extension=php_pdo_mysql.dll 
;extension=php_pdo_oci.dll 
;extension=php_pdo_odbc.dll 
;extension=php_pdo_pgsql.dll 
extension=php_pdo_sqlite.dll 
;extension=php_pgsql.dll 
;extension=php_phar.dll 
;extension=php_pspell.dll 
;extension=php_shmop.dll 
;extension=php_snmp.dll 
;extension=php_soap.dll 
;extension=php_sockets.dll 
;extension=php_sqlite.dll 
;extension=php_sqlite3.dll 
;extension=php_sybase_ct.dll 
;extension=php_tidy.dll 
;extension=php_xmlrpc.dll 
;extension=php_xsl.dll 
;extension=php_zip.dll 

任何想法?

+3

錯誤確實抱怨缺少mbstring擴展名。由於您未註釋它,所以想到的唯一一點是您可能需要重新啓動您的Web服務器才能使下一個擴展可用於PHP。 – 2013-07-27 17:17:33

+0

謝謝!那也是我的想法。我幾次重啓服務器都沒有運氣。我應該重新啓動還是重新啓動服務器足夠好?我將在接下來的幾分鐘內發佈完整的php.ini文件。謝謝 – Chris78

+0

這是它http://snipt.org/APgi5 – Chris78

回答

1

nt.bas是正確的,他說你應該編輯phpForApache.ini文件的地方不要

使用Wampmanage菜單編輯php.ini文件的Apache版本。 左擊wampmanager - > PHP - > php.ini中 這將編輯C:\ WAMP \ BIN \ apache的\ apache2.xy \ BIN \ php.ini中(正確的文件)

啓動/關閉PHP擴展,還有菜單可以做到這一點。 左鍵單擊wampmanager - > PHP - >擴展 - >(您將看到一個擴展名列表)。如果擴展名被選中,它將被激活。要激活擴展程序,只需點擊您想要激活的擴展程序,等待3-4秒,而apache被自動重新啓動以激活擴展程序。然後,如果您需要激活另一個相同的操作,請不要急於執行,請記住每次單擊後都會重新啓動Apache以激活或停用擴展程序。

如果您收到此錯誤,最可能的原因是您已編輯或正在查看錯誤的php.ini文件。 C:\ wamp \ bin \ php \ php5.x.y \ php。在您將PHP作爲CLI運行時使用ini(命令行界面)

使用提供的菜單可避免發生此錯誤。

PS phpForApache.ini是WAMP服務器用於保存Apache版本的php.ini文件,當您從一個PHP版本切換到另一個版本時,所以您不應該直接編輯它,除非您真的知道什麼你正在使用WAMP。

0

試試看oracle Mysql Workbrench。並嘗試重新安裝您的phpmyadmin。我的經驗告訴我:重新安裝你的php myadmin,它應該是工作。它與你的服務器無關。因爲有一天我面臨着這個問題。我使用mysql workbrench周,並自動phpmyadmin 3周後工作!

0

wamp有兩個配置文件(如果考慮到Apache bin文件夾中的一個,實際上有三個)。反正,WAMP使用兩個配置文件:

  • 一個是CLI(命令提示),並且是php.ini
  • 另一個是Apache和該phpForApache.ini

phpMyAdmin在瀏覽器中運行,因此需要Apache以便與PHP接口。因此,對配置文件所做的任何更改都需要在phpForApache.ini之間發生,以便反映在瀏覽器中運行的PHP應用程序中。

當你使用Wamp -> PHP -> php.ini來請求配置文件時,Wamp會給你php.ini,但這對普通PHP開發人員來說是錯誤的配置文件。你需要去C:\wamp\bin\php\php5.x.xx,尋找phpForApache.ini,在那裏做出改變,重新啓動Wamp,一切都應該在綠色,可以這麼說。

+0

感謝您的建議。我下載了'XAMPP'並開始使用它,因爲我無法完成它。快速的問題,我注意到'XAMPP'和'WAMP'。在'PHPMyAdmin'中,有一個名爲'test'的表。當我安裝'WAMP'時,我實際上刪除了那張桌子,認爲它就是一個測試表。但是,在兩個應用程序中看到它之後,我開始懷疑這是否是問題所在?你碰巧知道這是否會導致錯誤? – Chris78

+1

@ Chris78好的:-)不是MySQL測試數據庫(不是'table')提供給MySQL(所以會出現在XAMPP和WAMP中)並刪除它不應該是問題 - 因爲它可能僅用於測試MySQL安裝。我也應該空着(沒有桌子)。如果它不是空的,那麼你的MySQL安裝還有更多的東西,我不知道刪除它的效果。如果你說的是一張桌子,在哪個數據庫裏呢?這可能會影響'phpMyAdmin',因爲它自帶三個數據庫。 –

2

我有同樣的問題,如果沒有上述職位的工作,因爲他們沒有爲我按照下面的步驟 -

  1. 如果你可以訪問此網址 - 本地主機/?的phpinfo = 1或者只需要到localhost並點擊phpinfo()。如果phpmyadmin發生錯誤,這意味着你的apache,php和mysql運行正常,因此這不應該是一個問題。

  2. 選中「Loaded Configuration File」Url。在我的情況下,它是「C:\ wamp \ bin \ apache \ apache2.2.22 \ bin \ php.ini」。大多數情況下,Apache中的php.ini是用於所有任務的。

  3. 在記事本中打開該文件,檢查「extension_dir」。它應該指向正確的道路。如果您使用的是PHP 5.3.13,請檢查它是否指向c:/wamp/bin/php/php5.3.13/ext/,而不是任何其他路徑。

完成後,保存並重新啓動服務器。你應該很好走。

+0

#3幫助了我,謝謝 – Ruben

3

以及我不知道你是否解決了這個問題。我遇到了同樣的問題,我嘗試了在這裏和其他論壇上發佈的任何內容,但沒有任何發生。畢竟,只是爲了一種好奇的方式,我試過了:按下wamp圖標(綠色),進入MySql - > Service - >,然後按Install Service。瞧!現在PhpMyAdmin正在工作。我希望它能幫助你!

喬治

0

簡單地檢查你的broswer,並確保它不使用任何代理或檢查不使用代理服務器。這可能有幫助。

-1

轉到

C:/wamp/apps/phpmyadmin4.1.14/libraries/php-gettext/gettext.inc 

用記事本打開它,然後搜索mb_detect_encoding,因爲它是我們的職責,不是宣佈然後用_get_codeset女巫被正上方宣佈更換;

我認爲當他們改變版本時,他們會忘記它。