Apache+PHP 安裝與配置
最近在學習PHP,所以就在windows7下安裝了PHP的開發環境。之所以沒有選擇集成的軟件,如WAMP、AppServ等套件,是為了單獨安裝這些軟件,有助於更加深入了解。
一、Apache的安裝與配置
Apache HTTP Server是Apache軟件基金會的一個開放源代碼的網頁服務器,可以在大多數電腦操作系統中運行,由於其跨平台和安全性,被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠並且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。
1. 下載
下載地址:http://httpd.apache.org/download.cgi#apache22
文件名:httpd-2.2.25-win32-x86-no_ssl
2. 安裝
安裝過程很簡單,和其他windows下的軟件一樣,唯一值得注意的是可以如果更改安裝路徑的話要選擇Custom安裝,如圖所示:
然后一路Next就行了。
安裝完畢以后,任務欄右下角托盤圖標就會出現一個正在運行的羽毛圖標,
然后用瀏覽器訪問localhost(默認80端口,如果更改要適當變化),安裝正確情況下會顯示It Works.
接下來再看下apache的安裝目錄結構:
bin:存放apache常用的命令,如httpd
cgi-bin:存放linux常用的命令,如.sh
conf:存放apache配置文件httpd.conf
error:存放錯誤記錄
htdocs:存放站點文件
icons:存放圖標
logs:存放apache相關日志
manual:存放手冊
modules:存放模塊,apache是根據模塊來管理的,對應httpd.conf文件中的LoadModule
至此,apache安裝暫時完成;后面需要做一些配置上的修改。
3.配置
配置放到后面,安裝完PHP再進行配置。
二、PHP的下載、安裝與配置
1.下載
下載地址:http://windows.php.net/download/#php-5.3
文件名稱:php-5.3.27-Win32-VC9-x86.zip
2.安裝
PHP是綠色免安裝的,直接解壓到某個路徑下就行可以使用了。
首先,把根目錄下的php.ini-development改名為php.ini,為php的配置文件
然后,編輯php.ini,找到";extension= php_mysql.dll"去掉分號表示引入mysql模塊;
第三,設置環境變量,
接下來,apache就要調用php的模塊,使用php融入apache,按照之前的方法,打開conf/httpd.conf文件,搜索"LoadModule"關鍵字,在下面一行添加:
LoadModule php5_module "D:/php5/php5apache2_2.dll" PHPIniDir "D:/php5"
最后,添加應用程序類型,搜索關鍵字"AddType application",在其下面一行添加:
AddType application/x-httpd-php .php AddType application/x-httpd-php .html
到此為止,最簡單的配置完成之后,apache就可以和php完美的結合在一起了。
三、遇到的問題以及解決辦法
1. 在monitor窗口顯示"the requested operation has failed"
原因,有很多種
原因一:80端口占用
例如IIS,另外就是迅雷。有的apache服務器就是被迅雷害得無法啟用!
原因二:軟件沖突
裝了某些軟件會使apache無法啟動如Dr.com 你打開網絡連接->TcpIp屬性->高級->WINS標簽把netbios的lmhosts對勾去掉,禁用tcp/ip的netbios. 然后再啟動應該就可以了。
原因三:httpd.conf配置錯誤
如果apache的配置文件httpd.conf搞錯了,在windows里啟動它,會提示the requested operation has failed ,這是比較郁悶的事,因為查錯要看個半天。
其實可以用命令行模式啟動apache,並帶上參數,apache會提示你哪句有誤,然后就可以針對性的解決,命令如下:
httpd.exe –t意思是:: run syntax check for config files
下面是我遇到的一些問題,還不少。
這個錯誤是因為LoadModule后面的參數錯誤,仔細核對;
這個錯誤也是粗心大意造成的,還是LoadModule后面的第二個參數寫錯了;
當然,還有這個BT的錯誤;
And this,很顯然是語法錯誤;
最后,費勁九年二虎之力終於成功了。
此外:
apache啟動報錯:the requested operation has failed解決辦法
直接搜這個很慢,因為有很多中可能。
最簡單的方法是查看logs目錄下的error.log
2.查看哪個進程占用80端口的方法
打開cmd, netstat –anb, 可以找出占用80端口的程序,然后找到對應的PID,在任務管理器(TaskManager)中殺死對應的進程.
參考文檔:
* 5.2.1 Apache安裝與配置視頻教程
http://www.dreamdu.com/webbuild/apache_install_video/
* Apache+php+mysql在windows下的安裝與配置圖解(最新版)
http://tech.163.com/06/0206/11/299AMBLT0009159K.html