windows下安裝Apache24 + PHP5的步驟方法

前提開發環境搭建:在官網下載Apache時,會出現選擇版本問題,值得注意下載windows版本下的Apache時,下載文件後面帶有_V11或者_V14的字體,這個是windows的運行庫,可以到微軟的官網下載,V11是Visual Studio 2012的運行庫,如果安裝了VS2012後就不需要再安裝V11了。
其次是PHP5的下載,PHP官網下目前最新的版本是PHP7,但是目前用得最多的是PHP5,window下的PHP也區分V11和V14的區別,所以下載apache與PHP時最好是一致的vs運行庫版本
若安裝時出現  提示計算機中丟失 VCRUNTIME140.dll 則是因爲運行庫V14未安裝的問題

Apache24的搭建
1.修改httpd.conf文件
我下載的是httpd-2.4.23-x64-vc11-r3.zip,是V11的版本。Apache與tomcat的區別,我稍微提一下,Apache是web服務器,而Tomcat是Apache與Java sun公司的產品,Tomcat是java中selvert的容器,所以最大使用區別是,tomcat的java應用程序的服務器,使用tomcat需要搭建java開發環境jdk。
首先,httpd-2.4.23-x64-vc11-r3.zip解壓得到的是Apache24文件夾,修改其下conf文件下的httpd.conf配置文件。

用記事本打開,找到:Define SRVROOT 這一項,將其值修改爲Apache解壓的目錄:

windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客
值得注意的是,以後“${SRVROOR}”指Apache的安裝目錄
· 2.修改端口號
繼續在httpd.conf文件中找到以下行,修改其端口號
windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客
端口號默認是80端口,我們修改不被佔用的端口號,我們可以在d命令行裏面輸入以下命令查看端口號的使用情況,netstat -ano|findstr "端口號" 。
 
圖中顯示了使用8080端口的情況,其中最右邊的數字是進程的ID
我們可以tasklist|findstr "進程ID"命令去查看進程ID的具體情況
 windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客
這裏可以看出進程ID1984被apache給佔用了
3.修改個人配置文件
windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客
其中ServerAdmin是服務器的郵箱、ServerName是服務器的IP(這裏可以填寫域名地址)

windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客
這裏下面的內容是關於服務器根目錄的權限設置
基本修改以上內容後,就差不多可以了
4.啓動Apache
打開CMD窗口,輸入:"D:\...\Apache\bin\httpd.exe" -k install -n apache  切記,包含引號。
該命令的意思是,安裝apache服務,並將該服務名稱命名爲apache(你也可以改成別的),回車。 服務安裝完畢,完畢後,會自動測試,若有問題,窗口會提示錯誤,此時,請根據錯誤自行排查。 
正常安裝完畢如下圖所示: 其中,Errors reported here must be corrected before the service can be started.意思是,若該句話後面有錯誤信息,則表示服務安裝失敗,需要先改正錯誤。若沒有,則成功。 

 
 
 

5.個人經驗
完成上面步驟後,windows服務下就存在了apache服務項
6.瀏覽器輸入http://localhost:端口號
windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客

PHP的搭建
首先在搭建php前,我們需要了解php區分線程安全與非線程安全版,線程安全就是在多線程環境下(客戶端請求服務器的數量多的情況下,每一個客戶端請求就會產生一個線程)也不會出現數據不一致,而非線程安全就有肯能出現數據不一致的情況。
單線程環境就是每次只處理一個線程,一個線程分配一個實例;多線程環境就是每次處理多個線程,但要確保每次分配給線程的實例是一致的;線程安全由於要確保數據的一致性,所以對資源的讀寫進行了控制,換句話說增加了系統開銷。所以在單線程環境中效率比非線程安全的效率要低些,但是如果線程間數據相關,需要保證讀寫順序,用線程安全模式。以下列舉具體的區別:

 
1、windows + IIS +  FastCGI :使用非線程安全版本。
解釋:
以FastCGI方式安裝PHP時,PHP擁有獨立的進程,並且FastCGI是單一線程的,不存在多個線程之間可能 引發的相互干擾(這種干擾通常都是由於全局變量和靜態變量導致的)。由於省去了線程安全的檢查,因此使用 FastCGI方式比ISAPI方式的效率更高一些。

2、windows + IIS +  ISAPI :使用線程安全版本。
解釋:
PHP以ISAPI方式安裝時,PHP沒有獨立的進程,而是作爲DLL被IIS加載運行的,即是依附於Web服務器進 程的。當Web服務器運行在多線程模式下(IIS正是這種情況),PHP自然也就運行在多線程模式下。只要是在 多線程模 式下運行,就可能存在線程安全問題,因此應選擇PHP的線程安全版本。

3、windows + Apache +  PHP(模塊) :使用線程安全版本。
解釋:
如果你要在Apache中以模塊方式安裝PHP,則你應該使用PHP的線程安全的版本。原因是當PHP作爲 Apache的 模塊安裝時,PHP沒有獨立的進程,而是作爲模塊以DLL的形式被加載到Apache中的,是隨Apache的 啓動而啓動的,而Windows下的Apache爲多線程工作模式,因此PHP自然也就運行在多線程模式下。因此,這種 情況下應使用PHP的線程安全版本。

4、windows + Apache +  PHP(ISAPI) :使用線程安全版本。
解釋:
由於以ISAPI方式來安裝PHP時,PHP也沒有獨立的進程,也是作爲模塊被加載到Apache中的,因此,同樣 也需要使用PHP的線程安全版本。

5、windows + Apache + PHP(FastCGI) :使用非線程安全版本。 
 解釋: 
如果你要在Apache中以FastCGI方式使用PHP,則同在IIS中使用FastCGI的PHP的情況一樣,你應該使用 PHP的 非線程安全的版本。原因是在Apache中以FastCGI方式安裝PHP時,PHP擁有獨立的進程,並且 FastCGI是單一線程的,故應使用PHP的非線程安全版本以提高性能。

1.修改Apache的httpd.conf文件
添加php模塊支持
我是採用上面的第3種方式:windows + Apache +  PHP(模塊) :使用線程安全版本;首先打開Apache的httpd.conf文件,在文件末尾添加一下綠色內容,紅色部分爲解釋,不要添加到文件中
#load php module
#PHP對Apache24支持的動態鏈接庫dll的路徑
LoadModule php5_module "G:/MZC/php-5.6.28-Win32-VC11-x64/php5apache2_4.dll"
AddHandler application/x-httpd-php .php .html .htm
# configure the path to php.ini
#PHP的解壓根目錄
PHPIniDir "G:/MZC/php-5.6.28-Win32-VC11-x64"
添加PHP文件後綴
在 apache 的配置文件約385行,添加 AddType application/x-httpd-php .php
<IfModule mime_module>

</IfModule>
添加後,形如:

<IfModule mime_module>
.......
     TypesConfig conf/mime.types(已有)
.......
     AddType application/x-httpd-php .php
......
</IfModule>
添加index.php
在 apache 的配置文件約 277行,添加 index.php,形如: 
 <IfModule dir_module> 
 DirectoryIndex index.html index.php 
</IfModule> 
設置時區,找到 ;date.timezone 改爲 date.timezone = Asia/Beijing,服務器的時區設置

2. 修改PHP配置文件
將 PHP文件夾目錄下的php.ini-development(開發環境,不對外公網開放)或者php.ini-product(產品環境,對外開放,其安全性能更高)二者選其一,複製並修改爲 php.ini ,修改內容如下:
第 724行左右, 將 ;extension_dir = "ext" 修改爲 extension_dir = " php根目錄/ext",windows的斜槓爲“/”
第 866行左右,如需要加擴展。只要將 ;extension前的分號去掉即可
3. 重新啓動Apache
可在apache的bin目錄下雙擊 'ApacheMonitor',對Apache進行重啓,也可以在運行中打開services.msc,重啓
4.瀏覽器中輸入,端口號是我自己修改的
windows下安裝Apache24 + PHP5的步驟方法 - 中山爺爺 - 凝聚 的博客

 

額外內容:
在php.ini中找到display_errors = Off,修改爲display_errors = On,並且修改error_reporting的值,具體值可以參考百度,也可以默認不改
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章