1:Apache for Windows
選擇apache_2.2.14-win32-x86-no_ssl.msi的Apache for Windows版本。安裝路徑為:C:\Apache2
服務(wù)器的web的根目錄是 “C:/Apache2/htdocs/”;
httpd.conf是Apache的配置文件,以后會(huì)經(jīng)常修改。該文件修改完畢后必須重新啟動(dòng)Apache服務(wù),配置才能生效。這一點(diǎn)必須特別注意。
在httpd.conf以下代碼的DirectoryIndex后加index.php,多個(gè)首頁(yè)文件用逗號(hào)隔開:
<IfModule dir_module>
DirectoryIndex index.html, index.php
</IfModule>
DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs/ridish"
2:PHP安裝和配置
我們選用php-5.2.12-Win32.zip版本。解壓到以下文件夾下即可:
C:\php5
2.1: PHP需要的配置:
PHP的配置通過(guò)編輯php.ini來(lái)完成。第一次,我們復(fù)制
C:\php5
下的php.ini-recommended文件生成一個(gè)php.ini文件,然后指定extension_dir路徑:
extension_dir = "C:\php5\ext"
再打開以下語(yǔ)句的注釋,用于讓ZF支持mySQL數(shù)據(jù)庫(kù):
extension=php_pdo.dll 打開 pdo
extension=php_pdo_mssql.dll 打開 pdo_mssql
為了PHP支持更多擴(kuò)展,可以把它們的注釋去掉,例如為了支持圖形功能,可以打開
extension=php_gd2.dll
順便注意一下,為了安全,register_globals = Off,默認(rèn)已經(jīng)是關(guān)閉的了。我們自己開發(fā)的PHP擴(kuò)展也可以拷貝到ext 文件夾下,用extension=myphp_ext.dll的形式調(diào)用。
3: Zend Framework:
取得ZendFramework-1.9.7.zip壓縮包,解壓取出里面的library文件夾的內(nèi)容
4: PHP與Apache、msSQL的集成
在 http.conf 文件最后加語(yǔ)句:[code]
#集成 PHP5
LoadModule php5_module "C:\php5\php5apache2_2.dll"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#(指定php.ini文件的位置)
PHPIniDir "C:\php5\php-5.2.5.bin"
[/code] 如果是 PHP6,則形如:
LoadModule php6_module "……\php6apache2_2.dll"
注意以上裝載模塊語(yǔ)句LoadModule必須加載與當(dāng)前PHP和Apache版本對(duì)應(yīng)的dll文件。配置錯(cuò)了是不能工作的。
再次注意:保存http.conf文件后必須重新啟動(dòng)Apache服務(wù),配置才能生效。
5: ZF框架的設(shè)計(jì)思想和策略
ZF采用了前端控制器(Front Controller)設(shè)計(jì)模式,它把所有用戶的請(qǐng)求發(fā)送到一個(gè)中心控制點(diǎn),具體做法就是所有的請(qǐng)求都需要通過(guò)index.php進(jìn)入。然后通過(guò)index.php中的腳本把用戶請(qǐng)求分發(fā)到對(duì)應(yīng)的控制器中,控制器負(fù)責(zé)調(diào)用模型中的邏輯和用戶界面的呈現(xiàn)。
2,Apache對(duì)ZF的支持
為了實(shí)現(xiàn)ZF的設(shè)計(jì)思想,需要Web服務(wù)器的支持。Apache服務(wù)器是通過(guò)其mod_rewrite功能來(lái)實(shí)現(xiàn)的。
2.1配置mod_rewrite擴(kuò)展需要去掉Apache的配置文件httpd.conf中以下語(yǔ)句前的注釋符號(hào)#,使配置生效,即裝載mod_rewrite.so模塊。
LoadModule rewrite_module modules/mod_rewrite.so
還必須保證Apache已配置成支持.htaccess文件的模式。通常這可以通過(guò)在httpd.conf中將[code]
<Directory "C:\Apache2\htdocs">
Options Indexes FollowSymLinks
#AllowOverride None
AllowOverride All
Order allow,deny
Allow from all
</Directory>中的AllowOverride None改成AllowOverride All來(lái)實(shí)現(xiàn)。如果沒(méi)有正確配置mod_rewrite及.htaccess,那么除了首頁(yè)外將不能看到任何其它的頁(yè)面。
如果沒(méi)有什么遺漏的話,應(yīng)該可以正常解析了。不過(guò)還有一點(diǎn)要提一下,就是php5的短標(biāo)記是關(guān)閉的,通常要打開(因?yàn)檫€是有相當(dāng)一部分的代碼采用這種寫法),在php.ini中將short_open_tag = off改為on即可。還有全局變量的開關(guān),自己搞掂吧。
保存配置,重啟Apache服務(wù),使配置生效。