Apache+php在windows下的配置

科技小先鋒發表於2017-11-14

windows不能在本地計算機啟動apache

在網上看到好多都是說要改埠80,可我這裡埠80未被其他程式佔用,啟動apche也會報“windows不能在本地計算機啟動apache2有關更多資訊,查閱系統事件日誌。錯誤。不知道還有其他的解決方案嗎?我連埠號80也改了,但還是不行。。。我已經解決了!!!在httpd.conf檔案中配置php的時候,我參照網上的例子配置:LoadModule php5_module E:/php-5.2.14/php5apache2.dll,而我用的apache的版本是apache2.2.4,把上邊改成: LoadModule php5_moduleE:/php-5.2.14/php5apache2_2.dll 問題解決!!!所以不要一味拷貝網上的程式碼,有時候會因為版本不一致的情況發生各種各樣的問題!!!

一、安裝Apache配置Apache伺服器

安裝好Apache 後,現在開始配置Apache伺服器,使它更好的替我們服務,事實上,如果不配置,你的安裝目錄下的Apache2htdocs資料夾就是網站的預設根目錄,在裡面放入檔案就可以了。這裡我們還是要配置一下,有什麼問題或修改,配置始終是要會的,如圖所示,開始所有程式“Apache HTTP Server2.0.55”“Configure Apache Server”“Edit the Apache httpd conf Configuration file”,點選開啟。

XP的記事本有了些小變化,很實用的一個功能就是可以看到檔案內容的行、列位置,按下圖所示,點檢視,勾選狀態列,介面右下角就多了個標記,“Ln 78, Col10”就表示 78,列 10”,這樣可以迅速的在檔案中定位,方便解說。當然,你也可以通過編輯查詢輸入關鍵字來快速定位。每次配置檔案的改變,儲存後,必須在 Apache伺服器重啟動後生效,可以用前面講的小圖示方便的控制伺服器隨時重啟動


171457199.gif



現在正式開始配置Apache伺服器,“Ln 228”,或者查詢關鍵字“DocumentRoot”(也就是網站根目錄),找到如下圖所示地方,然後將“”內的地址改成你的網站根目錄,地址格式請照圖上的寫,主要是一般檔案地址的“”Apache裡要改成“/”


171507866.gif



“Ln 253”,同樣,你也可以通過查詢“< P>


171516476.gif



“Ln321”DirectoryIndex(目錄索引,也就是在僅指定目錄的情況下,預設顯示的檔名),可以新增很多,系統會根據從左至右的順序來優先顯示,以單個半形空格隔開,比如有些網站的首頁是index.htm,就在游標那裡加上“index.htm ”檔名是任意的,不一定非得“index.html”,比如“test.php”等,都可以。


171526773.gif



這裡有一個選擇配置選項,以前可能要配置,現在好像修正過來了,不用配置了,就是強制所有輸出檔案的語言編碼,html檔案裡有語言標記(,這個就是設定文件語言為gb2312)的也會強制轉換。如果開啟的網頁出現亂碼,請先檢查網頁內有沒有上述html語言標記,如果沒有,新增上去就能正常顯示了。把“# DefaultLanguage nl”前面的“# ”去掉,把“nl”改成你要強制輸出的語言,中文是“zh-cn”,儲存,關閉。


171553421.gif



好了,簡單的Apache配置就到此結束了,現在利用先前的小圖示重啟動,所有的配置就生效了,你的網站就成了一個網站伺服器,如果你載入了防火牆,請開啟808080埠,或者允許Apache程式訪問網路,否則別人不能訪問。如果你有公網IP(一般ADSL或電話撥號上網的都是),就可以邀請所有能上網的朋友訪問使用http://你的IP地址IP地址查詢可訪問http://www.goodwaiter.com,查詢內容內即是)你的網站了;如果你沒有公網IP,也可以把內網IP地址告訴區域網內的其它使用者,讓他們通過http://你的內網IP地址,訪問你的網站

二、php的安裝、以module方式,將phpapache結合使你的網站伺服器支援php伺服器指令碼程式

我的PHP設定在“D:php”

檢視解壓縮後的資料夾內容,找到“php.ini-dist”檔案,將其重新命名為“php.ini”,開啟編輯,找到下面圖中的地方,Ln385,有一個“register_globals = Off”值,這個值是用來開啟全域性變數的,比如表單送過來的值,如果這個值設為“Off”,就只能用“$_POST[`變數名`]$_GET[`變數名 `]”等來取得送過來的值,如果設為“On”,就可以直接使用“$變數名”來獲取送過來的值,當然,設為“Off”就比較安全,不會讓人輕易將網頁間傳送的資料擷取。這個值是否改成“On”就看自己感覺了,是安全重要還是方便重要?

171603952.gif

這裡還有一個地方要編輯,功能就是使php能夠直接呼叫其它模組,比如訪問mysql,如下圖所示,Ln563,選擇要載入的模組,去掉前面的;”,就表示要載入此模組了,載入的越多,佔用的資源也就多一點,不過也多不到哪去,比如我要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模組檔案都放在php解壓縮目錄的“ext”之下,我這裡的截圖是把所有能載入的模組都載入上去了,前面的“;”沒去掉的,是因為“ext”目錄下預設沒有此模組,載入會提示找不到檔案而出錯。這裡只是參考,一般不需要載入這麼多,需要的載入上就可以了,編輯好後儲存,關閉。

171718710.gif

這裡還有一個地方要編輯,功能就是使php能夠直接呼叫其它模組,比如訪問mysql,如下圖所示,Ln563,選擇要載入的模組,去掉前面的;”,就表示要載入此模組了,載入的越多,佔用的資源也就多一點,不過也多不到哪去,比如我要用mysql,就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模組檔案都放在php解壓縮目錄的“ext”之下,我這裡的截圖是把所有能載入的模組都載入上去了,前面的“;”沒去掉的,是因為“ext”目錄下預設沒有此模組,載入會提示找不到檔案而出錯。這裡只是參考,一般不需要載入這麼多,需要的載入上就可以了,編輯好後儲存,關閉。

裝目錄,如下圖所示,全部確定。系統路徑新增好後要重啟電腦才能生效,可以現在重啟,也可以在所有軟體安裝或配置好後重啟。


現在開始將phpmodule方式與Apache相結合,使php融入Apache,照先前的方法開啟Apache的配置檔案,Ln 173,找到這裡,新增進如圖所示選中的兩行,第一行“LoadModule php5_moduleD:/php/php5apache2.dll”是指以module方式載入php,第二行“PHPIniDir “D:/php””是指明php的配置檔案php.ini的位置,是當然,其中的“D:/php”要改成你先前選擇的php解壓縮的目錄。

171727889.gif

還是Apache的配置檔案,Ln 757,加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”兩行,你也可以加入更多,實質就是新增可以執行php的檔案型別,比如你再加上一行“AddType application/x-httpd-php .htm”,則.htm檔案也可以執行php程式了,你甚至還可以新增上一行“AddType application/x-httpd-php .txt”,讓普通的文字檔案格式也能執行php程式。

171740284.gif

前面所說的目錄預設索引檔案也可以改一下,因為現在加了php,有些檔案就直接存為.php了,我們也可以把“index.php”設為預設索引檔案,優先順序就自己排了,我的是放在第一位。編輯完成,儲存,關閉。

171750623.gif

現在,php的安裝,與Apache的結合已經全部完成,用螢幕右下角的小圖示重啟Apache,你的Apache伺服器就支援了php



本文轉自HDDevTeam 51CTO部落格,原文連結:http://blog.51cto.com/hddev/1219706,如需轉載請自行聯絡原作者


相關文章