Windows默認使用IIS作爲服務器,這篇博文將講述如何在win7下安裝和配置Apache+PHP環境。
準備工作:在G盤下新建三個文件夾:Apache、PHP和PHPWeb。Apache放置Apache服務器,PHP安裝PHP的目錄,PHPWeb用來放置網站文件,如html,php等。
一、安裝Apache
第一步:下載Apache。
網址:http://httpd.apache.org/docs/current/platform/windows.html。進入頁面後選擇ApacheHaus,之後在新打開的頁面裏選擇Apache2.4x VC11下面的Apache2.4.12 x64進行下載。(說明:我的電腦是win7 64位,所以選擇x64。VC9和VC11的主要區別是:VC9表示是使用Visual Studio 2008編譯的,VC11表示是使用Visual Studio 2012編譯的。運行時,電腦需要安裝相應的VC distributable。)下載完成後,將其解壓到G:\Apache文件夾中,會解壓出文件夾Apache24。
第二步:配置Apache。
編輯G:\Apache\Apache24\conf路徑下找到httpd.conf。修改如下:
①Define SRVROOT “/Apache24” 改爲 Define SRVROOT “G:\Apache\Apache24”
②Listen 80 改爲Listen 1024 (這個是Apache的監聽端口,windows下80端口一般會被IIS佔用,所以改爲用戶認爲合適的其他端口)。
③SeverAdmin [email protected] 改爲ServerAdmin [email protected](改爲用戶自己的郵箱)
④ServerName 127.0.0.1:80 改爲 ServerName 127.0.0.1:1024(端口號與②相同)
⑤DocumentRoot "${SRVROOT}/htdocs" 改爲 DocumentRoot "G:\PHPWeb"
<Directory"${SRVROOT}/htdocs"> 改爲 <Directory"G:\PHPWeb">
第三步:安裝Apache。
找到C:\Windows\System32\cmd.exe,右擊鼠標選擇以管理員身份運行。然後依次輸入以下命令:
G:(enter)
cd Apache\Apache24\bin (enter)
此時命令行已進入G:\Apache\Apache24\bin目錄。繼續輸入以下命令:
httpd –k install(enter) 若安裝多個Apache,則可以使用以下命令來指定不同的名字:
httpd –k install –n “服務名” (enter)
說明:
①執行完以上命令成功後,Apache會被安裝爲windows的服務。在命令行輸入:
services.msc (enter) 會打開windows服務列表,在列表中會看到Apache已經被安裝。
②對應的卸載命令:
httpd –k uninstall (enter) 和 httpd –k uninstall –n “服務名” (enter)
③安裝的Apache默認使用配置文件G:\Apache\Apache24\conf\httpd.conf,也可以爲不同的Apache指定不同的配置文件,命令如下:
httpd -k install -n "服務名" -f"G:\files\my.conf"(enter)
④若安裝過程中提示配置文件錯誤,則可用以下命令進行配置文件(httpd.conf)檢查:
httpd -t (enter) 或
httpd –n “服務名” –t (enter)
運行以上命令後,會在命令行顯示配置文件具體哪一行錯誤。,若沒錯誤會顯示Syntax OK。
二、安裝PHP
第一步:下載php
網址:http://windows.php.net/download 選擇php5.6下面的VC11 x64 Thread safe Zip。
下載完成後,將其解壓到G:\PHP文件夾中。
第二步:配置php
找到G:\PHP\php.ini-development並將其重命名爲php.ini。打開php.ini,修改如下:
① ;extension_dir = “ext” 改爲 extension_dir=”G:\PHP\ext”
②開啓自動連接Mysql的功能:找到以下字段,並將其前面的”;”去掉
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_odbc.dll
extension=php_xmlrpc.dll
③設置時區。
;date.timezone 改爲 date.timezone=Asia/Shanghai
④開啓PHP session功能(可選)
在G:\PHPWeb下新建文件夾命名爲Session,並將;session.save_path = "/tmp" 改爲 session.save_path = "G:\PHPWeb\Session"
⑤開啓PHP上傳文件功能(可選)
在G:\PHPWeb下新建文件夾命名爲FileUploadtmp,並將;upload_tmp_dir = 改爲upload_tmp_dir = “G:\PHPWeb\FileUploadtmp”
三、配置Apache使其支持PHP
打開G:\Apache\Apache24\conf\httpd.conf進行編輯:
A、在#LoadModule xml2enc_modulemodules/mod_xml2enc.so下面添加以下內容:
LoadModule php5_module "G:\PHP\php5apache2_4.dll"
PHPIniDir "G:\PHP"
AddType application\x-httpd-php .php .htm .html
B、將DirectoryIndex index.html改爲DirectoryIndex index.php index.html
說明:在命令行運行httpd –t進行httpd.conf文件的語法檢查。若提示無法將php5apache2_4.dll加載進server,有兩種可能:
①Apache的VC版本(VC6、9、11)和PHP的VC版本(VC6、9、11)不對應。
解:檢查相應的VC版本,更改Apache和PHP的版本後即可
②電腦的VC distributeable版本不對。
解:手動運行G:\PHP下的php.exe文件,新版本需要相應的vc支持,若電腦原來並沒有安裝則會提示msvcr110.dll找不到,安裝對應的vc即可解決。(安裝VC11相關組件網址:http://www.microsoft.com/zh-CN/download/details.aspx?id=30679)。沒有報錯後再去配置httpd.conf文件,注意Apache2.4需要加載php5apache2_4.dll,如果Apache2.2需要加載php5apache2_2.dll,若這兩個搞錯了話也會出現dll無法加載的報錯。
至此,Apache和PHP的開發環境就已搭建完畢。
其他
(1)啓動、關閉Apache:
net startApache2.4
net stop APache2.4
(2)Apache2.4安裝後:the requested operation has failed問題定位
1、80端口被佔用
2、APache2.4/conf/httpd.conf配置文件內容有錯誤
問題:
訪問php頁面時瀏覽器變成下載其php頁面問題解決嘗試:
(1)將G:\PHP\dev加入環境變量
(2)將G:\PHP\dev中的php5ts.lib文件拷貝到C:\Windows\System32下
(3)修改httpd.conf文件:AddType application/x-httpd-php .php .htm .html這句移動到 AddType application/x-gzip.gz .tgz這句下邊。
不知不覺就好了,我也很費勁。。。
四、安裝MySql
第一步:下載MySQL
進入MySQL官網後選擇MySQL Community Edition(GPL)爲免費版(MySQL Community Server)
地址:http://dev.mysql.com/downloads/mysql/最下邊選擇Windows (x86,64-bit) MySQLInstaller MSI下載。
第二步:安裝MySql
雙擊運行install,運行後選擇custom,點擊next。會出現兩個框,左邊選擇要安裝的功能,右邊顯示你選擇的功能,選擇好所有功能後,在右邊框裏選中某個功能,則會在下方出現Advanced Option按鈕,點擊Advanced Option,用戶可以指定安裝目錄。注意:只有在右邊框裏選擇了某個功能,纔會在下方出現Advanced Options按鈕!之後一步步進行安裝就好了。
第三步:測試連接
更改G:\PHPWeb中的index.php文件如下:
<?php
$dbc= mysqli_connect("127.0.0.1","root","soton");
if(!$dbc) {
echo"數據庫鏈接錯誤!";
}else{
echo"Success!";
}
mysqli_close($dbc);
?>
保存後在瀏覽器中輸入 localhost:1024回車,若顯示success!則證明可以連接MySQL。
TIPS:
1、安裝Apache爲window服務。進入Apache/Apache2.4/bin,然後:
httpd -k install (卸載:httpd -k uninstall)
若安裝多個Apache,則可以指定不同名字:
httpd -k install -n "服務名" (卸載:httpd -k uninstall -n "服務名")
若爲不同名稱的服務使用不同的配置文件,則:
httpd -k install -n "服務名" -f "G:\files\my.conf"
啓動、重啓、關閉Apache:
net start Apache2.4
net stop APache2.4
檢查配置文件正確性:
httpd -n "服務名" -t
2、Apache2.4安裝後:the requested operation has failed問題定位
(1)80端口被佔用
(2)APache2.4/conf/httpd.conf配置文件內容有錯誤
解:文件中Line38,將SRVROOT設置爲G:\Apache\Apache24即可。
3、先手動運行php目錄下的php.exe文件,新版本由於需要vc的支持,如果沒有安裝會提示msvcr110.dll找不到,安裝vc即可解決
安裝vc11相關組件,請到 http://www.microsoft.com/zh-CN/download/details.aspx?id=30679 下載
沒有報錯後再去配置http.conf文件,加載php5apache2_4.dll(這個代表的是2.4版本的appache),如果是2.2的apache去加載2.4的支持文件,就會報錯Cannot load php5apache2_4.dll into server
LoadModule php5_module "d:/php/php5apache2_4.dll"
PHPIniDir "d:/php/"
我是遇到這個問題,用了2.2的apache去加載2.4的文件,升級了apache到2.4後,問題解決
http://www.apachelounge.com/download/ apache2.4 版本下載地址