1:Apache for Windows
選擇apache_2.2.14-win32-x86-no_ssl.msi的Apache for Windows版本。安裝路徑為:C:\Apache2
服務器的web的根目錄是 “C:/Apache2/htdocs/”;
httpd.conf是Apache的配置文件,以后會經常修改。該文件修改完畢后必須重新啟動Apache服務,配置才能生效。這一點必須特別注意。
在httpd.conf以下代碼的DirectoryIndex后加index.php,多個首頁文件用逗號隔開:
<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的配置通過編輯php.ini來完成。第一次,我們復制
C:\php5
下的php.ini-recommended文件生成一個php.ini文件,然后指定extension_dir路徑:
extension_dir = "C:\php5\ext"
再打開以下語句的注釋,用于讓ZF支持mySQL數據庫:
extension=php_pdo.dll 打開 pdo
extension=php_pdo_mssql.dll 打開 pdo_mssql
為了PHP支持更多擴展,可以把它們的注釋去掉,例如為了支持圖形功能,可以打開
extension=php_gd2.dll
順便注意一下,為了安全,register_globals = Off,默認已經是關閉的了。我們自己開發的PHP擴展也可以拷貝到ext 文件夾下,用extension=myphp_ext.dll的形式調用。
3: Zend Framework:
取得ZendFramework-1.9.7.zip壓縮包,解壓取出里面的library文件夾的內容
4: PHP與Apache、msSQL的集成
在 http.conf 文件最后加語句:[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"
注意以上裝載模塊語句LoadModule必須加載與當前PHP和Apache版本對應的dll文件。配置錯了是不能工作的。
再次注意:保存http.conf文件后必須重新啟動Apache服務,配置才能生效。
5: ZF框架的設計思想和策略
ZF采用了前端控制器(Front Controller)設計模式,它把所有用戶的請求發送到一個中心控制點,具體做法就是所有的請求都需要通過index.php進入。然后通過index.php中的腳本把用戶請求分發到對應的控制器中,控制器負責調用模型中的邏輯和用戶界面的呈現。
2,Apache對ZF的支持
為了實現ZF的設計思想,需要Web服務器的支持。Apache服務器是通過其mod_rewrite功能來實現的。
2.1配置mod_rewrite擴展需要去掉Apache的配置文件httpd.conf中以下語句前的注釋符號#,使配置生效,即裝載mod_rewrite.so模塊。
LoadModule rewrite_module modules/mod_rewrite.so
還必須保證Apache已配置成支持.htaccess文件的模式。通常這可以通過在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來實現。如果沒有正確配置mod_rewrite及.htaccess,那么除了首頁外將不能看到任何其它的頁面。
如果沒有什么遺漏的話,應該可以正常解析了。不過還有一點要提一下,就是php5的短標記是關閉的,通常要打開(因為還是有相當一部分的代碼采用這種寫法),在php.ini中將short_open_tag = off改為on即可。還有全局變量的開關,自己搞掂吧。
保存配置,重啟Apache服務,使配置生效。