該博文參考的資料來源於:php
http://wenku.baidu.com/view/0e4c569ddd3383c4bb4cd267.htmlhtml
http://www.cnblogs.com/pharen/archive/2012/02/06/2340628.html mysql
http://www.admin10000.com/document/54.htmlweb
http://blog.csdn.net/zutsoft/article/details/21651041sql
昨天花了差很少一天的時間,跳過無數「坑」以後,把WAMP環境給搭建上了。爲什麼說坑,是由於不理解不知道,原來最新版的apache和最新版的php5.5存在不兼容的問題。還有Thread safe 和no thread safe版本之間的區別,PHP版本中的VC六、VC九、VC11之間的區別,如今記錄一下我搭建的過程。包括各類谷歌後學習到的內容。數據庫
1、準備工做,下載軟件apache
注:如下是我使用的版本。windows
apache:httpd-2.2.22-win32-x86-openssl-0.9.8t.瀏覽器
下載地址:http://www.apache.org/服務器
MySQL:mysql-installer-community-5.6.19.0.msi
下載地址:http://dev.mysql.com/downloads/windows/installer/
PHP:php-5.3.1-Win32-VC6-x86
下載地址:http://windows.php.net/downloads/releases/archives/
2、開始安裝軟件
(一)安裝apache
雙擊安裝,與安裝其餘Windows軟件沒有什麼區別,在填Server Infomation時,並無特殊規定,只要輸入的信息符合格式便可。
(注:這裏選擇安裝類型,我通常選擇Custom,這裏能夠本身設置安裝路徑,看本身喜歡)
安裝完成以後,在瀏覽器輸入http://localhost,若是顯示It Works!,表示Apache安裝成功。
(二)安裝PHP
安裝PHP:將php-5.3.1-Win32-VC9-x86.zip解壓到一個目錄便可。
(三)安裝MySQL
插一句,昨天是由於下載錯MySQL,因此搞得很頭疼,建議到官網下載,我上面發的那個連接,下載的那個版本是ok的。
雙擊安裝,若是須要更改安裝目錄,則在Choose Setup Type選擇Custom(我比較喜歡自定義安裝,建議選擇自定義Custom)
MySQL下載完成後,找到下載到本地的文件,按照下面所示的步驟雙擊進行安裝:
步驟1:雙擊MySQL安裝程序(mysql-installer-community-5.6.10.1)會彈出以下圖1.4所示:
步驟2:單擊圖1.4中的「Install MySQL Products」 文字,會彈出的用戶許可證協議窗口,
以下圖1.5所示:
步驟3:選中「I accept the license terms」 的前面的選擇框,而後點擊【Next】按鈕,會進入查 找最新版本界面,效果以下圖1.6所示:
步驟4:單擊【Execute】按鈕,會進入安裝類型設置界面,效果以下圖1.7所示。
步驟5:選擇圖1.7中的「Custom」選項,可修改安裝路徑或保持默認值,而後單擊【Next】按鈕,
彈出功能選擇界面,以下圖1.8所示。
步驟6:單擊【Next】按鈕,彈出安裝條件檢查界面,以下圖1.9所示。
步驟7:單擊【Next】按鈕,進行安裝界面,以下圖1.10所示。
步驟8:單擊【Execute】按鈕,開始安裝程序。當安裝完成以後安裝嚮導過程當中所作的設置將在安裝完成 以後生效,以下圖1.11所示的窗口
步驟9:單擊【Next】按鈕,會進入服務器配置頁面,效果以下圖1.12所示。
步驟10:單擊【Next】按鈕,效果以下圖1.13所示。
圖1.13中的「Server Configuration Type」下面的「Config Type」下拉列表項用來配置當着服務器的類
型。選擇哪一種服務器將影響到MySQL Configuration Wizard(配置嚮導)對內存、硬盤和過程或使用的決策,能夠選擇以下所示的3種服務器類型:
Developer Machine(開發機器):該選項表明典型我的用桌面工做站。假定機器上運行着多個桌面應用程序。將MySQL服務器配置成使用最少的系統資源。
Server Machine(服務器):該選項表明服務器,MySQL服務器能夠同其它應用程序一塊兒運行,例如FTP、email和web服務器。MySQL服務器配置成使用適當比例的系統資源。
Dedicated MySQL Server Machine(專用MySQL服務器):該選項表明只運行MySQL服務的服務器。
假定運行沒有運行其它應用程序。MySQL服務器配置成使用全部可用系統資源。
做爲初學者,選擇「Developer Machine」(開發者機器)已經足夠了,這樣佔用系統的資源不會不少。
在Enable TCP/IP Networking左邊的複選框中能夠啓用或禁用TCP/IP網絡,並配置用來鏈接MySQL服務器的端口號,默認狀況啓用TCP/IP網絡,默認端口爲3306。要想更改訪問MySQL使用的端口,直接在文本輸入框中輸入新的端口號便可,但要保證新的端口號沒有被佔用。
步驟11:單擊【Next】按鈕,在圖1.13所對應的界面中,咱們須要設置root用戶的密碼,在「MySQL Root
password」(輸入新密碼)和「Repeat Password」(確認)兩個編輯框內輸入指望的密碼。也能夠單擊下面的【Add User】按鈕另行添加新的用戶。(注:Current Root Password:爲空;若是輸入密碼了在後面安裝會報錯)
步驟12:單擊【Next】按鈕,設置Windows Service Name<可默認>,此名爲啓動數據庫服務名,要記住。
效果以下圖1.14所示。
步驟13:單擊【Next】按鈕,打開配置信息顯示頁面,以下圖1.15所示。
步驟14:單擊【Next】按鈕,便可完成MySQL數據庫的整個安裝配置過程。接下來就能夠登陸上咱們的MySQL數據庫進行操做了。
Example:啓動MySQL
能夠直接使用命令行:
3、整合Apache+MySQL+PHP
(一)配置Apache
首先使用文本編輯工具(推薦 EditPlus )打開 E:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf 文件,這個文件是Apache的配置文件,下面幾步都是在修改這個文件的內容。
要注意的是修改完 httpd.conf 文件需從新啓動Apache服務,新設置纔會生效。
一、讓Apache加載PHP模塊
找到 #LoadModule vhost_alias_module modules/mod_vhost_alias.so (大概在第128行),在這行的後面添加如下內容:
LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/WAMP/PHP"
LoadModule php5_module "E:/StuSoftware/PHP/php/php5apache2_2.dll" /*你下載的須要是VC6的版本,否則找不到這個php5apache2——2.dll文件,這是我遇到的其中一個坑,待會兒下面再說*
這句意思是以module方式載入PHP5模塊。
AddType application/x-httpd-php .php
這句意思就是將.php擴展名的文件做爲php腳本執行。你可使用你喜歡的任何其餘擴展名,如 .html、.php5 甚至是 .txt 來執行PHP。
PHPIniDir "D:/WAMP/PHP"
這句用來指定PHP的配置文件php.ini 所在的目錄。
若是是Apache 2 以module模塊方式運行php5的話,就可使用 PHPIniDir 指令。
2. 修改網站存放目錄
咱們知道Apache默認的網站存放目錄爲Apache安裝目錄下的htdocs文件夾。當你更改網站存放目錄,就必須修改相應的Apache配置。
在配置文件 httpd.conf 中查找 DocumentRoot(大概在182行),將其修改成指向網站目錄的正確文件夾。咱們這裏改成
DocumentRoot "F:/Workspace/PHP"
同時,查找 This should be changed to whatever you set DocumentRoot to(大概在207行),在它下面有行 <Directoy 默認的DocumentRoot >,將其修改成你本身配置的DocumentRoot 路徑。咱們這裏修改成:
<Directory "F:/Workspace/PHP">
個人網站存放目錄是這般的:
3. 修改目錄首頁文件
在配置文件 httpd.conf 中查找 DirectoryIndex index.html (大概在244行)(快捷鍵查找按ctrl+F)將其修改爲:
DirectoryIndex index.html index.htm index.php
DirectoryIndex 指的是當客戶瀏覽器訪問的路徑是一個目錄時,Apache默認執行的文件。
以咱們所修改的爲例:當客戶瀏覽器訪問一個目錄時,Apache會去找該目錄下的index.html,若是沒有再找index.htm,尚未再找 index.php。都找不到則默認顯示該目錄下的文件列表。參考文檔:若是防止Apache顯示文件列表
(二)配置PHP
打開PHP安裝目錄,即E:\StuSoftware\PHP\php,咱們能夠看到目錄下有兩個這樣的文件 php.ini-development 和 php.ini-production,第一個是開發使用的配置文件,第二個是生產環境的配置,由於咱們是在本機作開發,因此選擇前者。將php.ini-development複製一份到同目錄下,並更名爲 php.ini。這個php.ini 就是當前使用的配置文件,如下幾步都是在修改這個php.ini文件的內容。要注意的是,修改php.ini文件後需從新啓動Apache服務,新設置纔會生效。
1. 指定PHP擴展庫的存放目錄
在Windows下PHP的擴展庫一般以 DLL 形式存放在PHP的ext目錄中。
使用文本工具打開php.ini文件,查找extension_dir = "ext"(大概在809行),也就是在 On windows 下面那一行。把它前面的分號「;」去除掉,改成以下:
extension_dir = "E:/StuSoftware/PHP/php/ext"
extension_dir 表示PHP擴展庫的具體目錄,以便調用相應的DLL文件。
2. 開啓相應的擴展庫
默認狀況下許多PHP的擴展庫都是關閉的,好比默認PHP不支持鏈接Mysql數據庫,需開啓相應的擴展庫。
這裏咱們開啓一些經常使用的擴展庫。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到以下擴展:
;extension=php_curl.dll ;extension=php_gd2.dll ;extension=php_mbstring.dll ;extension=php_exif.dll ;extension=php_mysql.dll ;extension=php_mysqli.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_odbc.dll ;extension=php_sockets.dll ;extension=php_xmlrpc.dll ;extension=php_xsl.dll
把以上extension 前面的分號 「;」 去掉。若是你但願加載其它擴展模塊,方法相同,只要去掉前面的分號便可。
提示1:重啓Apache提示 「unable to load dynamic library......php_curl.dll」,加載php_curl.dll錯誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統 Path 環境變量裏包含的路徑就能夠。若是不想拷貝,你也能夠直接把 PHP 路徑放到系統 Path 環境變量裏。 右擊個人電腦=>屬性=>高級=>環境變量=>系統變量裏有個Path,雙擊打開,把你的PHP路徑加個分號「;」再前面( ;D:\WAMP\PHP ),添加進去就OK了。重啓Apache再也不提示該錯誤。
提示2:Exif 擴展是用來顯示圖片的 exif 信息的,由於該擴展須要 mbstring.dll 支持,因此必須將 extension=php_exif.dll 這一行寫到extension=php_mbstring.dll 的後面。
提示3:若是PHP自帶的擴展庫不能知足你的須要,你能夠去 pecl.php.net 查找並下載你須要的庫。windows用戶能夠去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下載已經編譯好的DLL文件,也能夠去http://museum.php.net/php5/ 載PECL集合壓縮包。
提示4:不少人在找php_zip.dll,其實從php5.3開始已經集成了zip擴展,直接使用就好了。你能夠用<?php phpinfo() ?> 找到zip擴展的說明。
目前針對不一樣用戶,MySQL提供了2個不一樣的版本: MySQL Community Server:社區版,該版本徹底免費,可是官方不提供技術支持。
MySQL Enterprise Server:企業版,它可以高性價比的爲企業提供數據倉庫應用,支持ACID事物處理,提供完整的提交、回滾、崩潰恢復和行級鎖定功能。可是該版本需付費使用,官方提供電話及文檔等技術支持。
目前最新的MySQL版本爲MySQL 5.6,能夠在官方網站http://dev.mysql.com/downloads/下載該軟
件。下圖1.2所示的MySQL官網上單擊圖片上的「Download」超連接 或 點擊左邊標記處,而後按照提示一步步操做就能夠將MySQL軟件下載到本地計算機中了。注意這裏咱們選擇的是數據庫版本是「Windows (x86, 32-bit), MSI Installer」,以下圖1.3所示。
3. 讓PHP支持短標籤
在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改爲:short_open_tag = On 讓其支持短標籤。
php的代碼通常包含在<?php .... ?>的標籤內,設置 short_open_tag = On 以後,能夠寫成更簡潔的形式:<? .... ?>。
4. 配置PHP的Session功能
在使用session功能時,咱們必須配置session文件在服務器上的保存目錄。咱們須要爲session創建一個可讀寫的目錄,這個目錄最好獨立於網站目錄以外。
這裏把目錄上建在了D:\WAMP\sessiontmp,而後在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號「;」 ,改成以下:
session.save_path = "D:/WAMP/sessiontmp"
5. 配置PHP的文件上傳功能
同session同樣,在使用PHP文件上傳功能時,咱們必需要指定一個臨時文件夾以完成文件上傳功能,不然文件上傳功能會失敗。
咱們創建一個可讀寫的目錄文件夾 D:\WAMP\fileuploadtmp,而後在 php.ini 配置文件中找到 ;upload_tmp_dir = (大概875行),修改成:
upload_tmp_dir = "D:/WAMP/fileuploadtmp"
PHP默認上傳文件大小不超過2M,要想上傳大於2M的文件,請參考文檔 配置php.ini實現文件上傳功能。
6. 設置時區
在 php.ini 配置文件查找 ;date.timezone = (大概在993行),去掉前面的分號「;」 改成以下:
date.timezone = PRC
date.timezone是PHP5.1開始新增長的配置參數,用來設置時區。默認date.timezone是被註釋掉的,也就是默認時區是UTC格林威治標準時間。
咱們這裏改成 date.timezone = PRC(PRC,People’s Republic of China,中華人民共和國),也就是日期使用中國的時區。這樣能夠解決時間相差八小時的問題。
(三)配置phpMyAdmin
直接在最開頭給出的官網連接下載最新版的phpMyAdmin。
首先解壓,而後將文件拷貝到網站根目錄下,個人是F:\Workspace\PHP\phpMyAdmin
而後到瀏覽器訪問http://localhost/phpMyAdmin/index.php
如圖:
【安裝phpMyAdmin過程出現的一個問題】
登陸phpMyAdmin提示1045登陸不上MySQL
解決方法:直接解壓文件,放到php工做空間下,而後使用mysql的用戶名和登陸密碼登陸,無需更改任何的配置一文件
以前說的php的版本VC6/9/11的區別,以及Threadsafe和no Threadsafe的區別:
VC6版本是使用Visual Studio 6編譯器編譯的,若是你的PHP是用Apache來架設的,那你就選擇VC6版本。(如今PHP已經沒有VC6了)。
VC9意思就是該版本PHP是用VisualStudio2008編譯的,而VC11則是用VisualStudio2012編譯的。這意味着
若是你下載的是VC9版本的,就須要先安VisualC++RedistributableforVisualStudio2008SP1,
若是你下載的是VC11版本的,就須要先安VisualC++RedistributableforVisualStudio2012.
搭建php首先看操做系統的版本,若是是Windows的在這裏下:http://windows.php.net/download/
操做系統是32位仍是64位?若是是32位的,就選擇帶「x86」的版本,若是是64位的,就選擇帶「x64」的版本。而後看WEB服務器是什麼?若是是IIS系列,就選擇帶「Non Thread Safe」的版本,若是是Apache httpd系列,就選擇帶「Thread Safe」的版本。若是是Apache httpd還要看這個二進制版本是怎麼編譯的,有三種編譯類型,分別是:VC六、VC九、VC11(分別表明Visual C++ 六、Visual C++ 200八、Visual C++ 2012)。這裏就有麻煩了:PHP官方的最新版本5.5已經用VC11編譯,5.4是用VC9編譯的。但是Apache httpd的最新版本呢,至今仍是用VC6編譯。這意味着一個驚人的事實:Apache httpd的官方版本和PHP的官方版本居然是沒法兼容的!
到這裏,所有安裝都完畢,WAMP平穩運行。