PHP1:在Windows上安裝和配置PHP,Apache和MySQL

傑克.陳發表於2014-12-03
原文:PHP 1:在Windows上安裝和配置PHP,Apache和My SQL

如果你Google一把類似的主題,你會發現相關的文章可以塞滿你的硬碟。在這裡之所以把它再次拿出來,目的是想記錄我作為一個新手如何配置的,以及配置期間碰到的一些問題。期望其中的一些問題對大家有用。
下載安裝檔案就不用說了。
不過還是提一下版本吧。

  1. PHP:5.1.4
  2. Apache 2.2.3
  3. MySQL:5.0.2-community-nt

我安裝的順序如下:

  • 安裝PHP
  • 安裝Apache
  • 安裝MySQL
  1. PHP安裝

     有人認為上面的安裝順序和普通安裝順序有點出入,是的,確實如此。一般來說先安裝Apache,然後安裝PHP。
     在安裝PHP的時候有個插曲,我下載的是PHP MSI包,但是這個包安裝之後發現沒有dev,ext等目錄,和提供的install.txt檔案出入太大了。我開始以為是我的機器有問題,後來再裝了一次,發現和原來還是一樣,於是有點暈了,後來到php的網站上一看,原來MSI下載後面有個說明,一陣狂暈,直接撞牆。於是下了ZIP包才了事,大概有8M多。唉,太粗心了。所以務必下載正確的安裝包

    2. Apache安裝
   首先說明一點,Apache安裝有點意思。
   安裝時,它會提示一個重要的選擇:選擇埠和使用者,預設的是為所有使用者安裝,並且埠為80.但是還提供了另外一個選擇,即為當前使用者,埠為8080.如果機器的IIS選擇的埠為80,並且你選擇預設的方式,很顯然到了安裝Apache服務的時候就會有問題,因為埠已經應用。如果你選擇後一種,它不會給你安裝Apache服務。
    下面提提我安裝服務遇到的問題。
     開始我選擇的是第二種,即當前使用者,埠為8080,結果是沒有自動安裝Apache服務,於是看Install檔案,發現可以apache應用程式手動安裝,於是按照他說的跑到Bin目錄下,發現沒有Apache.exe.沒輒了。於是開啟Apache的配置檔案,設定一個不用的埠,重新安裝Apache,但是選擇的是第一種方式,這次居然好了。
     提示,務必選擇合適的埠號以及服務的使用者,特別是裝有IIS的機器
   上面的裝完之後,最繁瑣的事情就是配置了。也許對Linux或Unix的使用者來說,這是小菜一碟,但是對於Windows使用者來說,稍微一點難度,可能微軟是傻瓜型軟體人才的締造者吧。
  配置的文章多的是,我也不多提,只提個人認為比較重要的幾點。

  1.   在配置前寫一個BAT檔案。這個BAT檔案幹什麼用的呢?就是為了測試Apache檔案的語法是否正確。BAT檔案內容可以為:其中的F:Apache Software FoundationApache2.2就是Apache安裝的目錄。
    F:Apache Software FoundationApache2.2inhttpd.exe F:Apache Software FoundationApache2.2confhttpd.conf F:Apache Software FoundationApache2.2.

    這樣做的好處是進入命令列,直接執行此檔案,就可以看到結果了。

  2. 配置PHP DSO模組。這個比較令人生厭,因為PHP提供的Php5Apache2.dll居然在Apache2.2.3不適用,還得下載個補丁才能了事。這個補丁到處都有,在Google輸入Apache Php5Apache2.dll,馬上就有成千上萬。
  3. LoadModule這個傢伙實在令人噁心。我輸入 LoadModule php5-Module F:/php/Php5Apache2.dll時,把php5-Module誤寫為php5-Mdoule,居然告訴我錯誤。暈。至今我還不知道為什麼。為什麼呢?

    為了測試PHP和Apache工作是否正常,寫個簡單的PHP檔案吧。
 

1 <?php
2  phpinfo();
3 ?>

   它顯示PHP和Apache的資訊。

3  MySql安裝
    這個比較簡單,把php.ini的擴充套件修改一下,然後把擴充套件dll複製一下。so easy。
    建議下載phpMyAdmin來操作MySQL。

 4 總結 
    很多人都認為配置有些難度,當初我也是這麼認為。現在我不這麼想了,因為我認為掌握了其本質,才知道配置的簡單程度。網上
關於配置的文章比比皆是,但是很少有人說出其本質。如果你經常在Linux或Unix平臺下操作,那就不說了。反之,如果你是Windows的使用者,
你極有可能使用IIS,我就是其中之一。
   如果瞭解IIS,或者換句話說IIS是如何執行ASP,ASP.NET等頁面的,我相信你再配置Apache,PHP等就不是什麼難事了。
   言歸正傳,配置Apache和PHP就類似於IIS和ASP.NET。但是微軟考慮到了使用者的配置,所以把IIS和ASP.NET的配置簡化了。
   一個PHP頁面肯定先要通過解析等什麼,這通過什麼來完成呢?那就是PHP自己的直譯器。所以你需要把php5ts.dll這個傢伙考到Windows系統目錄下,以便Apache可以呼叫它,整個系統可以呼叫它。那麼為什麼PHP怎麼知道虛擬目錄(或者稱根目錄)?那就是PHP.ini裡的doc_root 設定的內容,有人問這是什麼。相當的簡單,就是IIS裡的虛擬目錄路徑。有人還會問,那麼PHP如何處理MySQL?這個問題非常好,也是很關鍵的。為什麼PHP會連結MySQL?PHP不可能天生就會,這個時候就需要一個擴充套件,在php.ini有個extension_dir項,它就是用來指定擴充套件的路徑的。但是這是一個目錄,裡面包含了很多擴充套件,有Mysql的,sybase的,SQL Server的,那麼我如何指定我想要的擴充套件呢?答案很簡單,還是php.ini檔案,裡面有個
extension項,如果你想擴充套件MySQL,可以為extension=php_mysql.dll,其他類似。
上面主要是PHP的講解,下面稍微講講Apache的吧。記得在IIS裡,如果想增加一個MIME型別,非常簡單的,但是在Apache裡,可沒有什麼介面給你按幾個按鈕就行了。這需要你開啟httpd.conf,例如增加PHP型別,可以寫到AddType application/x-httpd-php .php ,WORD可以為AddType Application/msword .doc.簡單吧。
通過上面的解釋,相信你對配置不再那麼恐懼了吧。

接下來我將通過一個例項來學習這些東東!

相關文章