1. 程式人生 > >[八步]Windows+Apache+PHP+MySQL簡易配置教程

[八步]Windows+Apache+PHP+MySQL簡易配置教程

準備工作

首先自然是下載軟體,然後該解壓的解壓(注意要非中文目錄,這裡的軟體目錄以均以C:\Program Files為例),該安裝的安裝(MySQL的安裝會有許多選項,英文好的看著按自己需要勾勾填填就行了,實在不行的參考這裡,雖然版本比較舊,不過配置選項大致還是差不多的)。

下面是幾個軟體的簡單介紹和下載地址:

Apache

Apache是世界使用排名第一的Web伺服器軟體,我們這裡用它來搭建一個本地的Web伺服器,它會偵聽http請求,將本地的Web資料傳送給瀏覽器,簡單的來說就是搭建Apache之後,我們就可以通過瀏覽器來訪問本地的網站。

PHP

既然有了Web伺服器,為何還要PHP這東西呢?因為Web伺服器只是用來響應瀏覽器請求,並不具備解析PHP檔案的功能,因此還需要PHP來進行解析。

MySQL

MySQL是一個關係型資料庫管理系統,跟PHP就是絕配,因為它們都快速,功能強大,更重要的是它們都免費(O(∩_∩)O~)。

phpMyAdmin

phpMyAdmin嚴格來說不算一個軟體,也不是WAMP環境的其中一個,但它在PHP開發過程中卻幾乎是必不可少的。phpMyAdmin是一個用PHP編寫的MySQL視覺化管理工具,因此它不需要安裝或配置,直接將它解壓到你的預設網站目錄即可(補充說明)。

配置PHP

你可能會覺得奇怪,為什麼我把PHP的配置放在前面來講,而把Apache放到後面?因為我們需要將兩者結合起來,而結合的過程便是在Apache的配置檔案中進行修改的,若先配置Apache,那麼配置完PHP之後又必須繼續回頭配置Apache。

PHP的配置檔案是根目錄下的php.ini,但你會發現,在目錄下會有兩個檔案,一個是development,一個是production,顧名思義,前者是開發測試使用,後者是上線產品使用的,安全係數較高。我在本地自然是隻做開發測試的,於是選擇php.ini-development檔案,將其改成php.ini並開啟,下面PHP的配置步驟都是在其中進行的。

  1. 配置一下擴充套件庫路徑:
  2. 找到; extension_dir = "ext"(約730行),將前面的分號去掉,並將其值改為PHP的擴充套件庫檔案目錄,如:extension_dir = "C:/Program Files/PHP/ext",這裡的目錄是由你的PHP所在路徑確定的,記得後面加上ext。

配置PHP+MySQL

這裡的配置同樣在php.ini中進行:

  1. PHP預設是沒有支援MySQL的,因此我們要將MySQL的擴充套件庫開啟,將這兩行前面的分號去掉即可:
    1. ;extension=php_mysql.dll
    2. ;extension=php_mysqli.dll

其它擴充套件庫同樣也可以根據需要去掉前面的分號將其引入,我這裡開啟了php_curlphp_mbstring

配置Apache+PHP

Apache的配置檔案則是conf目錄下的httpd.conf檔案,將其開啟:

  1. 首先找到ServerName(約213行),將其設定為localhost:80,雖然這一步如果不修改的話也可以正常執行,但啟動Apache服務時會有一條煩人的提示(AH00558: httpd.exe: Could not reliably determine the server's fully qualified do main name, using fe80::fc76:abca:e24b:d490. Set the 'ServerName' directive globally to suppress this message),潔癖者還是改一下吧。
  2. 然後設定一下Apache的目錄,將檔案中的c:/Apache24全部替換成Apache所在目錄,如:C:/Program Files/Apache
  3. 修改預設網站目錄地址(約237行),找到
    1. DocumentRoot"C:/Program Files/Apache/htdocs"
    2. <Directory"C:/Program Files/Apache/htdocs">
    將其路徑替換為你想要設定的預設網站目錄,預設網站目錄是指你以後進行開發除錯時網站檔案所存放的目錄,當Apache接收到瀏覽器請求時,便會從該目錄裡將對應的檔案進行讀取,執行併發送到瀏覽器,這裡以F:/Websites為例(同樣必須是非中文目錄):
    1. DocumentRoot"F:/Websites"
    2. <Directory"F:/Websites">
  4. 在(約171行)
    1. #LoadModule xml2enc_module modules/mod_xml2enc.so
    下加入如下兩行以支援PHP:
    1. LoadModulephp5_module"C:/Program Files/PHP/php5apache2_4.dll"
    2. PHPIniDir"C:/Program Files/PHP"
    這裡的路徑對應你的PHP目錄。
  5. 新增預設主頁,當Apache接收到不帶有檔名的http請求時,會自動搜尋目錄下的預設主頁,這樣就不需要瀏覽者每次訪問網站都必須加上檔名了(如訪問http://www.clanfei.com/時,便會自動顯示出http://www.clanfei.com/index.php的內容),找到:
    1. DirectoryIndexindex.html
    (約274行)將其改為
    1. DirectoryIndexindex.html index.php
    這裡的排序前面的許可權較後面的高,也就是說當目錄下同時存在index.htmlindex.php時,將index.html作為預設主頁顯示,而非index.php
  6. 新增對php檔案型別的支援,找到:
    1. AddTypeapplication/x-gzip.gz.tgz
    (約402行),在下面新增:
    1. AddTypeapplication/x-httpd-php.php

執行與測試

以上便是WAMP環境的配置過程了,接下來啟動服務並測試配置成果:

首先按Win+R開啟執行視窗,輸入CMD,然後輸入(引號內由Apache路徑決定):

  1. "C:\Program Files\Apache\bin\httpd.exe"-k install

安裝服務,安裝完服務後以後就不必重新安裝了,接著輸入:

  1. "C:\Program Files\Apache\bin\httpd.exe"-k start

啟動服務以後開機便會自動啟動服務,除非使用stop引數停止了服務,才需要重新執行上面的命令。

-k後面的引數可以為install(安裝)uninstall(解除安裝)start(啟動)stop(停止)restart(重啟)等。

當然,在Apache的bin目錄下,有一個ApacheMonitor.exe檔案可以視覺化地完成這些功能,可以為它建立一個快捷方式或直接將其設為開機啟動項,就可以更方便地管理Apache服務了。

測試的方法很簡單,在預設網站目錄下(根據上面配置的路徑,我這裡為F:/Websites),新建一個文字檔案並改名為index.php,輸入一下程式碼:

  1. <?php
  2. phpinfo();

如果開啟的是一個關於的PHP環境資訊的網頁的話,說明Apache+PHP配置成功了,按住Ctrl+F,搜尋一下mysql,如果存在以該名字為標題(注意不是mysqlnd)的表格的話,說明MySQL也配置成功了。

補充說明

  1. 如果你的80埠被佔用(如果你安裝過IIS等其它網站伺服器程式),則需要重新更改一下Apache所監聽的埠號,找到Listen 80(約58行),將80改為你想設定的埠號,如8080等,那麼你在除錯本地PHP程式的時候就應該在瀏覽器位址列裡輸入http://localhost:8080,因為http協議的預設埠號是80,你需要告訴瀏覽器新的埠號,瀏覽器才會正確地通過新埠來向Apache請求資料。
  2. MySQL預設的管理工具只是一個黑乎乎的命令列視窗,使用起來多有不便,我們可以下載一個phpMyAdmin作為視覺化的MySQL管理工具,解壓到預設網站目錄下並把資料夾名稱改為phpMyAdmin,便可以在瀏覽器中輸入http://localhost/phpMyAdmin訪問了。

附言

有很多人嫌WAMP環境配置麻煩,直接下載WampServer來作為PHP開發環境,但畢竟WampServer整合的軟體不是最新版本,而且更重要的是作為一個Geek,怎能不具有一點專研的精神呢?而且下學期我們就要學PHP了,也順便把配置過程重新溫習一遍寫出來與大家分享,如果有什麼疏漏之處,請多多指教!




=======================籤 名 檔=======================


歡迎訪問交流,至於我為什麼要多弄一個部落格,因為我熱愛前端,熱愛網頁,我更希望有一個更加自由、真正屬於我自己的小站,或許並不是那麼有名氣,但至少能夠讓我為了它而加倍努力。。
=======================籤 名 檔=======================