windows下apache+mysql+php+phpmyadmin的配置方法

來源:互聯網
上載者:User

apache伺服器沒什麼可說的地方,盡量去官網下載個最新的。

有一個地方需要注意:php教程是以模組的形式載入到apache這個容器裡面的,就是你在配置apache載入php模組的時候,注意那個路徑的問題。具體配置語句

loadmodule php5_module d:/php/php5apache2.dll 是指以module方式載入php

phpinidir "d:/php" 是指明php的設定檔php.ini的位置

這個路徑中盡量不要出現空格,比如我的路徑是 loadmodule php5_module d:/peogram files/php/php5apache2.dll這個就會導致錯誤,你需要換成相對路徑,比如"../php/php5apache2.dll",但是相對路徑一定要正確,這要看你怎麼安裝各個模組的,建議安裝在統一目錄下,方便管理。

php就得注意一下,這個問題很讓人糾結。下面是php的下載

php 5.3 (5.3.5)  window平台包下載

 

vc9 x86 non thread safe (2011-jan-05 21:37:35)

  • zip [14.96mb]
    sha1: 2fdd7b2b17d359725d9f297b6a59f17b71a913a6
  • installer [26.9mb]
    sha1: d7cfd584231e68dc9e87cdff45a6d11fa3b03689
  • debug pack [7.94mb]
    sha1: 414c30a12a402d3af30b46de4b2e0ca391872982

vc9 x86 thread safe (2011-jan-05 21:31:04)

  • zip [15.1mb]
    sha1: 7593b0ebba4b43418fd2f3c18eac83d698da46d6
  • installer [27.02mb]
    sha1: db510126e3f9b580c38fb6dd8895e5a67403a223
  • debug pack [8.29mb]
    sha1: 339f6092e4c4fee9c5a6a0f6d0f8359fbfbda60b

vc6 x86 non thread safe (2011-jan-06 19:06:20)

  • zip [13.13mb]
    sha1: b11a6a1597219d7ce10bc315cde411f37346383e
  • installer [23.84mb]
    sha1: 4249683e8b88ceed32bf12c0b883a51bb10e43d9
  • debug pack [4.86mb]
    sha1: 9fb328a8c798bfe797e1a7f683571dc3812f3aa8

vc6 x86 thread safe (2011-jan-06 18:56:08)

  • zip [13.26mb]
    sha1: 8658b5c58a9893d46290beb70aa2335226e2c523
  • installer [23.95mb]
    sha1: 05fe4fb8f03a2f9fa71d47aad60e8c9becd6bb7d
  • debug pack [5.03mb]
    sha1: 9d96d42b14f516ee5935404161836ec28b572bbf
  • 一共四種供你選擇。但是一定要選對。
  • vc6是什嗎?
    vc6就是legacy visual studio 6 compiler,就是使用這個編譯器編譯的。
    vc9是什嗎?
    vc9就是the visual studio 2008 compiler,就是用微軟的vs編輯器編譯的。

    那我們如何選擇下載哪個版本的php呢?
    如果你是在windows下使用apache+php的,請選擇vc6版本;
    如果你是在windows下使用iis+php的,請選擇vc9版本;

    那non thread safe是什嗎?
    non thread safe就是非安全執行緒;
    thread safe 是什麼?
    non thread safe 是安全執行緒;
    官方並不建議你將non thread safe 應用於生產環境,所以我們選擇thread safe 版本的php來使用

    我選擇的是vc6 x86 thread safe (2011-jan-06 18:56:08),因為我是在windows下搭建的apache伺服器。

    php直接解壓就算是安裝。按教程一步一步的走就可以。

    經常出現的問題是:

    unable to load dynamic library 'd:/server/php/ext/php_exif.dll'
     unable to load dynamic library 'd:/server/php/ext/php_fdf.dll'
     unable to load dynamic library 'd:/server/php/ext/php_ifx.dll' 

    ……

    類似的錯誤,解決辦法是

    1.修改php.ini檔案的extension_dir配置到你正確的php/ext/,因為這個檔案夾裡面是你所有的擴張模組,包括mysql教程之類的。

    2.把你的php安裝目錄下的dll檔案,php/ext檔案下的dll檔案統統複製到widows/0system32下面去,或者你修改系統內容變數path,加上;d:/www/php;d:/www/php/ext;這是我的安裝目錄。這個實現的效果跟複製到system32下面是一樣的,具體原因我也不知道為啥,我只知道程式啟動並執行時候首先去system32下面找相應的庫檔案進行載入,如果找到就停止,如果找不到就去path下面去尋找,如果再找不到,就去設定檔extesion_dir下面去找,再找不到就報錯,所以如果你電腦上以前安裝過php4的話,請先把system32下面相應的dll檔案刪除掉。

    3.這些載入的模組,是載入還是刪除是在php.ini裡面配置的

    類似於extension=php_bz2.dll

    extension=php_curl.dll

    extension=php_fileinfo.dll

    extension=php_gd2.dll

    extension=php_gettext.dll

    ;extension=php_gmp.dll

    extension=php_intl.dll

    一定要注意請不要把所有的模組都啟動,雖然系統資源浪費也多不了哪去,但是預設的php5安裝包下並不一定存在這個模組的相應dll,所以你應該按照系統錯誤提示把相應的模組給停用了,停用方法,跟你是怎麼開啟模組是相反的。

    4.還有就是模組之間會有依賴性,比如我想要開啟extension=php_exif.dll這個模組,那麼就必須先開啟extension=php_mbstring.dll模組,這也可能是你加模組不成功的原因。


    安裝mysql很簡單,直接按提示安裝就行,不需要與伺服器各個模組之間進行配置

    由於目前phpmyadmin的最新版本已經更新到了2.11.5.1,網上流傳的很多配置方法都是以前老版本的,已經不太適應新版本的配置要求;於是flymorn順便也把phpmyadmin2.11.5.1的配置步驟也列在下面;為了切換及調試php方便,我採用的是windows系統,本地調試。
     
        1、先下載phpmyadmin安裝包:
    到國外官方網站http://www.phpmyadmin.net上,點擊導覽列上的“downloads”連結進入下載頁面,選擇“all-languages.zip”版本下載到本地,解壓;把解壓縮檔案放到系統指定的虛擬根目錄下的phpmyadmin檔案夾裡(可自訂檔案夾名),如flymorn的本地存放位置是d:wwwphpmyadmin裡。

     

        2、找到phpmyadmin檔案夾裡的/libraries/config.default.php檔案(舊版本是根目錄下的config.inc.php檔案),用支援utf-8編碼的寫字板開啟進行編輯。 

     

        3、尋找 $cfg['pmaabsoluteuri'] 
    修改為你將上傳到空間的phpmyadmin的網址 
    如:$cfg['pmaabsoluteuri'] = 'http://www.piaoyi.org/phpmyadmin/'; 
    這裡因為我是本地調試,我改為$cfg['pmaabsoluteuri'] = 'http://localhost/phpmyadmin/';
    注意:不要漏掉最後的反斜線/和開頭的http。

     

        4、尋找 $cfg['servers'][$i]['host'] = 'localhost';(通常用預設,也有例外,可以不用修改) 

     

        5、尋找 $cfg['servers'][$i]['auth_type'] = 'config'; 
    在自己的機子裡調試用config;如果在網路上的空間用cookie,這裡我們既然在前面已經添加了網址,就修改成cookie。
    我個人建議:無論是本地還是網路上,都建議設定成cookie,安全第一。
    同時,當auth_type這個值設定為cookie後,還有一個地方需要作出相應的修改:
    $cfg['blowfish_secret'] = '';
    改成:$cfg['blowfish_secret'] = 'www.piaoyi.org';
    這裡的www.piaoyi.org自己隨便定義,不超過46個字元。如果這個地方留空,將會出現上文提到的第2個錯誤:“設定檔現在需要絕密的短語密碼(blowfish_secret)”。

     

        6、尋找 $cfg['servers'][$i]['user'] = 'root'; // mysql user(使用者名稱,自己機裡用root;在網上一般為你的ftp使用者名稱,虛擬機器主機供應商會告訴你的;一般不要修改) 

     

        7、尋找 $cfg['servers'][$i]['password'] = '123456'; // mysql password (123456修改成串連你的mysql資料庫教程的使用者密碼)

     

        8、尋找 $cfg['defaultlang'] = 'zh'; (這裡是選擇語言,zh代表簡體中文的意思) 還有 $cfg['defaultcharset'] = 'gb2312';(修改預設編碼為國標)

     

        到這裡,phpmyadmin就已經配置完成ok;你可以開啟http://localhost/phpmyadmin/訪問方便快捷的圖形化管理軟體phpmyadmin了。關於本文沒有提到的設定檔裡的其他選項,大家可以不用關心了也不必修改。關於具體如何操作phpmyadmin不在本文討論的範圍內,不過圖形化介面,是通俗易懂,稍微看看就會用了(參考)。

     

        下面談談,flymorn在安裝配置phpmyadmin的過程中所遇到的幾個問題。

     

        第一個問題:“無法載入mcrypt擴充,請檢查php配置”。

     

    1、沒有正確安裝mysql資料庫,在系統服務中mysql相關的服務沒有啟動。
    2、在系統的 system32(c:windowssystem32) 目錄下缺少 libmcrypt.dll檔案,解決方案是找到php目錄下的libmcrypt.dll,並將libmcrypt.dll複製到c:windowssystem32目錄中,然後重新啟動web服務。
    3、在php目錄下的php.ini檔案中,沒有將“;extension=php_mcrypt.dll”中的前面一個“;”去掉,所以不能使用相應功能,解決方案是開啟php.ini檔案,找到;extension=php_mcrypt.dll改成extension=php_mcrypt.dll     //去掉前面的;使之生效
    4、mysql目錄沒有讀取許可權,正確的目錄許可權如下:
    administrator    完全控制
    system     完全控制
    user     讀取加運行
    其他的使用者權限全部刪除(也可保留,但安全性不高,建議刪除),然後重啟mysql服務和web服務(建議修改此項後重啟一下伺服器)。
    5、以上方法都不行的話,再用這個方法:案頭>我的電腦>右鍵屬性>進階>環境變數>系統變數>建立
    名:phpdir
    值:c:php(你的php在什麼目錄就是什麼) 
    (參考來源:地址)

     

        第二個問題:“無法載入 mysql 擴充,請檢查 php 配置”

     

    把 php 目錄下的 libmysql.dll 複製到:c:windowssystem32 下,然後重啟apache。

     

        第三個問題:“設定檔現在需要絕密的短語密碼(blowfish_secret)”

     

    確保在config.default.php檔案裡面進行了正確的設定 :
    $cfg['servers'][$i]['auth_type']= 'cookie';
    同時
    $cfg['blowfish_secret'] = 'www.piaoyi.org'; //(這個值隨便寫,就是不能留空)

     

    其實這個問題,我碰到了確實很鬱悶,如果按照我在上面提到的配置方法做了,應該不會提示這個錯誤。經過我2個多小時不停的修改config.default.php設定檔,始終提示這個錯誤,幾乎達到了崩潰的邊緣了。

     

    然後就是靈光一現,突然發現:我把auth_type認證方式改為http,改為config時,開啟頁面始終出現這個錯誤,也就是說改變了認證模式,並沒有對phpmyadmin起作用,難道是其他的設定檔在影響決定著phpmyadmin?

     

    立馬來到phpmyadmin根目錄,赫然發現根目錄下有一個config.sample.inc.php檔案存在的同時,還有一個檔案config.inc.php也存在!!而這個是以前老版本的設定檔,原來是這個檔案搗的鬼。馬上刪除config.inc.php,再進入調試頁面,錯誤消失了!問題解決。

     

    看來phpmyadmin根目錄下的config.inc.php設定檔的優先順序比/libraries/config.default.php的設定檔高,系統是先調用根目錄裡的設定檔,然後才是libraries檔案夾裡的設定檔,艾,這個問題,折騰了這麼久,嗚呼哀哉。總歸解決了,舒一口氣啊。

     

        第四個問題:“#2003-伺服器沒有響應”。

     

    遇到這個問題多半是mysql資料庫沒有啟動,建議直接在在:控制台-管理工具-服務裡面把mysql啟動。關於是否啟動,你可以在工作管理員裡查看是否有“mysqld-nt.exe”這樣的進程,如有有,則說明mysql已經啟動。
      
        第五個問題:“沒有發現php的擴充設定mbstring”。  

     

    修改 c:windows 下的 php.ini 檔案,找到 ;extension=php_mbstring.dll 把;去掉,儲存 php.ini,重新啟動apache即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.