2010-05-29 85 views
1

我剛安裝了Windows 7上最新的MySQL產品版本(64位)。這是一個純粹的香草安裝,使用所有的默認設置;但phpmyadmin根本看不到它。 MySQL被配置爲一項服務以自動啓動,並且我知道它正在運行,因爲MySQL GUI工具正常工作。在Windows-7(64位)上的MySQL在0.0.0.0:3306上而不是在127.0.0.1:3306上

我是從phpMyAdmin的取得實際的錯誤信息是:

Cannot load mysql extension. Please check your PHP configuration. - Documentation 

的phpinfo()顯示:

> mysqlnd enabled 
> Version mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $ 
> Compression supported 
> Command buffer size 4096 
> Read buffer size 32768 
> Read timeout 31536000 
> Collecting statistics Yes 
> Collecting memory statistics No 

做一個-a netstat的,我看到

TCP 0.0.0.0:3306   Marks-Netbook:0  LISTENING 

當我期望看到

TCP 127.0.0.1:3306   Marks-Netbook:0  LISTENING 

我不知道這是phpmyadmin無法連接的原因,但懷疑它可能是這種情況。 任何人都可以證實這是否可能的原因,和/或建議我如何解決這個問題?

+0

你是否試過從控制檯執行「mysql -u root」? – cherouvim 2010-05-29 10:55:53

+0

我可以從控制檯上高興地連接並使用mysql執行典型的命令行函數-u root – 2010-05-29 16:41:58

回答

1

無法加載mysql擴展。

有不下三種方式從PHP連接到MySQL:

  1. 的 「MySQL的」 擴展
  2. 的 「mysqli的」 擴展
  3. PDO

phpMyAdmin的似乎想要使用「mysql」擴展名。檢查你的php.ini,確保啓用了「mysql」擴展。該行可能看起來像extension=php_mysql.dll

「mysqlnd」是MySQL的本地驅動程序,由擴展和PDO用於實際連接。

+0

賓果 - PHP加載錯誤的php.ini文件,並在phpinfo()mysqlnd的存在讓我覺得擴展正在加載。現在有通過phpmyadmin連接謝謝 – 2010-05-29 17:49:25

1

聽取0.0.0.0意味着它監聽所有接口,包括127.0.0.1的環回。所以這不應該是一個問題。

請發佈您的phpmyadmin配置。

+0

我不確定我的問題是否與配置文件有關......我修改了我原來的問題,從phpmyadmin,這表明一些更基本上是錯誤的,我的PHP配置 – 2010-05-29 16:47:37

1

我花了最後幾天試圖讓phpMyAdmin工作。我的操作系統是Windows 7 64位。 Apache服務器是2.2版本(下載安裝程序httpd-2.2.17-win32-x86-openssl-0.9.8o.msi)。 PHP版本是PHP 5.3.6(cli)(內置:2011年3月17日10:37:07)。 MySQL版本是5.5(下載安裝程序mysql-5.5.12-winx64.msi)。

一切似乎安裝並正確運行。 Apache和MySQL作爲服務運行。 PHP似乎沒問題。但是,成功通過phpMyAdmin的配置後,當我嘗試啓動它時,我得到了「無法加載mysql擴展名」錯誤。

我梳理了很多文檔和論壇。感謝所有發佈您的經驗。這是我試過的,以及我最終如何工作的。

請記住,在Win7/64位沒有「Windows」和「WINNT」目錄。Apache應該在「Program Files(x86)」中,MySQL應該在「Program Files」中,並且我把PHP放在「C:\ PHP」文件夾中。

One Person建議將PHP目錄放置在PATH的開頭。我計算了爲什麼不是 ,所以我打開了一個命令窗口並編輯路徑,以便前四項是:

C:\ PHP \; C:\ PHP \ ext; C:\ Program Files \ MySQL \ MySQL Server 5.5 \ bin; C:\ Program Files \ MySQL \ MySQL Server 5.5 \ lib;

另一個人建議,在Apache的httpd.conf文件中設置這樣你的PHP部分的東西:

LoadFile "C:/php/php5ts.dll" 
LoadModule php5_module "C:/php/php5apache2_2.dll" 

<IfModule php5_module> 
    PHPIniDir "C:/PHP" 

    <Location /> 
     AddType text/html .php .phps 
     AddHandler application/x-httpd-php .php 
     AddHandler application/x-httpd-php-source .phps 
    </Location> 

</IfModule> 

確保dll文件實際上都在指定的目錄存在,並根據需要進行調整。

但是,拼圖的最後一部分是在php.ini文件中。你需要註釋掉Postgres的擴展如下:

;[PHP_PGSQL] 
;extension=php_pgsql.dll 

(由於螺紋http://www.apachelounge.com/viewtopic.php?t=3180 [email protected])對這個信息的最後一位。

如果您正在使用Win7 64位,並且遇到麻煩,請隨時關注。

相關問題