之前試著透過自動安裝及設定的方式來建置php開發環境,似乎不是很順利,決定以手動安裝的方式再來建置一次開發環境。

規劃目錄結構
打算仿造IIS將相關程式放在同一目錄底下,以下是我規劃的目錄結構:





註:我把整個目錄放在D槽,和我的Windows系統目錄C槽分開,這樣當OS系統有任何問題,需要重灌時,開發環境的設定和資料不會消失。

下載要安裝的各軟體
Apache
如網站需要SSL支援,請下載包含OpenSSL的版本。
http://httpd.apache.org/download.cgi (Win32 Binary including OpenSSL 0.9.8r: httpd-2.2.19-win32-x86-openssl-0.9.8r.msi)

PHP
請盡量選擇最新穩定版本,我打算讓php搭配apache以module來執行,故選擇 VC6 x86 Thread Safe的版本;如果要搭配IIS,請選擇VC9的版本,需要Microsoft 2008 C++ Runtime (x86)。

因要手動安裝,所以下載沒有安裝檔的zip package即可。
http://windows.php.net/download/ (VC6 x86 Thread Safe: php-5.2.17-Win32-VC6-x86.zip)

安裝Apache
執行httpd-2.2.19-win32-x86-openssl-0.9.8r.msi,大都直接按[Next]即可安裝完。要注意的地方如下:
1. 安裝到Server Information時,其中Install Apache HTTP Server 2.2 programs and shortcuts for選項,請選擇only for Current User, on Port 8080, when started Manually. 當然如果確定不使用IIS,也可以使用 Port 80的選項。
2. 安裝到Destination Folder時,請將安裝目錄改變成D:\WebServer\Apache2.2。

註:雖然指定Port 8080,安裝時可能會遇到apache啟動失敗的訊息,apache還是會用80去啟動,先可不管,等安裝完php,所有設定一次來搞定。

安裝PHP
1. 將php-5.2.17-Win32-VC6-x86.zip解壓縮到D:\WebServer\php目錄下。
2. 把D:\WebServer\php\php.ini-dist複製一份成php.ini。

修改php.ini
要建立開發環境,有些設定需打開,請將其前面的分號註解拿掉,相關需修改的設定如下:
錯誤訊息用
error_log = "d:/WebSerevr/logs/php_error.log"

PHP 5要先設定timezone,要不然程式會一直出現警告。
date.timezone = Asia/Taipei

如果有上傳檔案需求,請修改
post_max_size = 8M (請視需求修改)
upload_max_filesize = 2M (一般比post_max_size小)

相關路徑設定:
upload_tmp_dir = "D:\WebServer\temp\upload" (上傳暫存路徑)
include_path = ".;D:\WebServer\php\PEAR"
session.save_path = "d:\WebServer\temp\session"
extension_dir = "d:\WebServer\php\ext"

接下來是常用的延伸套件:
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_sqlite.dll
extension=php_sqlite.dll

修改httpd.conf
透過修改httpd.conf來讓apache認識php,使php成為apache的模組。

修改d:\WebServer\Apache2.2\conf\httpd.conf以下設定:
Listen 80 將其改成 Listen 8081
ServerName *:80 將其改成 ServerName *:8081

註:Listen和ServerName兩個port的值要一樣

在httpd.conf最底下加入
PHPIniDir "D:/WebServer/php/"
LoadModule php5_module "D:/WebServer/php/php5apache2_2.dll"
AddType application/x-httpd-php .php

修改DirectoryIndex,加入index.php
DirectoryIndex index.html index.php

這樣apache就會以Module的方式來執行php了。

繼續修改httpd.conf其他設定
打開 LoadModule rewrite_module modules/mod_rewrite.so

修改預設網站根目錄
DocumentRoot "D:/WebServer/wwwroot"
<Directory "D:/WebServer/wwwroot"&gt

啟用.htaccess,找到<Directory />,將AllowOverride None的None改成All;<Directory "D:/WebServer/wwwroot">區段內的AllowOverride None也改成All。

測試
測試前,懶人大絕,電腦重開,來讓各設定生效。

先在D:\WebServer\wwwroot底下產生index.php,內容如下:
<?php
phpinfo();
?>

在瀏覽器鍵入 http://localhost:8080/http://localhost:8081/index.php 熟悉的兩個畫面應該就會出現了

mark528 發表在 痞客邦 PIXNET 留言(0) 人氣()