在Windows下成功安裝PHP是毫無(wú)懸念的,但同時(shí)也是需要一些運(yùn)氣的。本文記錄了一次成功安裝的過(guò)程,希望對(duì)大家能有所幫助。本文安裝的環(huán)境為Windows
7 Ultimate English version + Apache Http Server 2.2.15 + PHP 5.3.2。
1. 安裝Apache Http Server
Apache Http
Server 2.2.15可以從Apache官方網(wǎng)站下載:
http://httpd.apache.org/download.cgi
下載下來(lái)的msi文件直接雙擊安裝即可。
2. 安裝PHP 5.3.2
本次安裝使用的是PHP的壓縮文件版本,具體來(lái)說(shuō)是: php-5.3.2-Win32-VC9-x86。可以從http://windows.php.net/download/
下載得到。下載其它版本的時(shí)候,需要注意的是,必須要包含php5apache2_2.dll,否則的話,下載下來(lái)的文件是無(wú)法配置的。就目前PHP官方網(wǎng)站提供的各個(gè)版本:
·
php-5.3.2-nts-Win32-VC9-x86.zip 不包含php5apache2_2.dll。PHP不想繼續(xù)支持非線程安全(non-threadsafe)的版本了?
·
php-5.2.13-nts-Win32-VC6-x86.zip 包含php5apache2_2.dll,但安裝下來(lái)無(wú)法使用。
由于下載的是壓縮文件版本, 解壓到某個(gè)文件夾即可。這個(gè)地址在本文將被應(yīng)用為PHP5_HOME。
3. 配置
3.1 配置Apache Server使其支持PHP5
編輯Apache
Server目錄下的conf/httpd.conf文件,加入以下指令(建議加載最后一個(gè)LoadModule指令后):
LoadModule
php5_module "PHP5_HOME\php5apache2_2.dll"
#注意, PHP5_HOME必須按照安裝環(huán)境展開(kāi), 例如:
# LoadModule
php5_module " E:\development\php\php-5.3.2-Win32-VC9-x86\php5apache2_2.dll"
#總之, PHP5_HOME\php5apache2_2.dll必須指向PHP的安裝目錄下的php5apache2_2.dll文件
<IfModule
php5_module>
#對(duì)于.php的請(qǐng)求, 我們要將其MIME設(shè)置為application/x-httpd-php, 不然會(huì)直接返回php文件的內(nèi)容
AddType application/x-httpd-php .php
</IfModule>
|
3.2 配置PHP5
1). php.ini文件
檢查PHP5_HOME文件夾, 你會(huì)發(fā)現(xiàn)php.ini-development和php.ini-production, 將其中一個(gè)重命名為php.ini(不放心后續(xù)的話,請(qǐng)備份文件)。php.ini需要修改的地方有:
·
extension_dir
;
Directory in which the loadable extensions (modules) reside.
;
http://php.net/extension-dir
; extension_dir
= "./"
; On
windows:
extension_dir = "PHP5_HOME/ext"
; 與前面類(lèi)似, PHP5_HOME需要展開(kāi)
; extension_dir = " E:/development/php/php-5.3.2-Win32-VC9-x86/ext"
|
注意,
extension_dir必須使用絕對(duì)路徑, 如果按照php.ini提示的那樣使用extension_dir="ext", 是不能找到extensions的。
·
根據(jù)需要啟用extension
比如要啟用mysql擴(kuò)展, 直接打開(kāi)前面的注釋符號(hào)即可:
;
extension=php_mysql.dll
----->
extension=php_mysql.dll
2). 其實(shí)此時(shí)可以開(kāi)啟Apache Server測(cè)試了
利用下面的腳本, 可以看到當(dāng)前PHP的配置情況:
將這個(gè)文件放在Apache Server下的hotdocs目錄中,然后通過(guò)瀏覽器訪問(wèn)即可。但是,
這時(shí)候你會(huì)看到:
Configuration File (php.ini) Path C:\windows
Loaded
Configuration File
(none)
由此可見(jiàn),php.ini文件實(shí)際上是從C:\windows下加載的,不出意外的話,C:\windows\php.ini文件是不存在的(在這種情況下, PHP實(shí)際上使用的是一些缺省的配置)。為了解決這個(gè)問(wèn)題,有兩種方法:
1). 將配置php.ini移到C:\Windows。這種方法自然有效,但不利于擴(kuò)展,也干得不漂亮;
2).修改注冊(cè)表--添加HKEY_LOCAL_MACHINE\SOFTWARE\PHP,然后在其下添加key-value對(duì):
Key: IniFilePath
value: PHP5_HOME
重新啟動(dòng)Apache, 并檢測(cè)環(huán)境,
應(yīng)該可以看到Loaded Configuration File會(huì)有所變化。
Ps: 如果Apache出錯(cuò)的話,
將記錄在Apache Server下的logs/error.log文件中。