1. 可以選擇其它的路徑但最好不要用中間有空格的路徑(例如:C:\Program Files\PHP 就不太好),如果這樣做有些 網頁伺服器會崩潰。
2. 怎樣將 PHP 目錄加入到 Windows 路徑 PATH 中去?
* 進入:系統,選擇“進階”標籤頁 點擊“環境變數”按鈕
* 在“系統變數”欄中
* 找到 Path 這一項(可能需要向下滾動才能找到)
* 滑鼠雙擊 Path 這一項
* 在最後加入你的 PHP 目錄,包括前面的“;”(例如:;C:\php)
* 點擊“確定”並重新啟動電腦
3. 在 ZIP 包中有兩個 ini 檔案,php.ini-dist 和 php.ini-recommended。建議使用 php.ini-recommended,因為在該檔案中最佳化了效能和安全。
4. 編輯新的 php.ini 檔案。如果計劃使用 OmniHTTPd,不要執行下一步。設定 doc_root 並指向 網頁伺服器的 document_root:
doc_root = c:\apache\htdocs
5. 怎樣使 php.ini 檔案在 Windows 下被 PHP 所用?
<1>有幾種方法。如果使用 Apache,閱讀專門的安裝指示(Apache 1,Apache 2),否則就必須設定 PHPRC 環境變數:
在 Windows NT,2000,XP 和 2003 中:
* 進入控制台並開啟“系統”表徵圖(開始 -> 設定 -> 控制台 -> 系統,Windows XP/2003 中是:開始 -> 控制台 -> 系統)
* 選擇“進階”標籤頁
* 點擊“環境變數”按鈕
* 在“系統變數”欄中
* 點擊“建立”按鈕並在“變數名”中輸入“PHPRC”,在“變數值”中輸入 php.ini 檔案所在的目錄(例如:C:\php)
* 點擊“確定”並重新啟動電腦
在 Windows 98/Me 中需要編輯 autoexec.bat 檔案:
* 開啟記事本(開始 -> 運行,然後輸入 notepad 並點確定)
* 開啟 C:\autoexec.bat 檔案
* 在檔案結尾處加入一行:set PHPRC=C:\php(將 C:\php 替換為你的 php.ini 實際存在的目錄)。注意路徑中不能包含空格。例如將 PHP 安裝到了 C:\Program Files\PHP 中,你需要輸入 C:\PROGRA~1\PHP 替代之
* 儲存檔案並重新啟動電腦
<2> 複製所選擇的 ini 檔案到 PHP 能找到的目錄中,並將其重新命名為 php.ini.
而php.ini 的搜尋路徑如下(按順序):
* SAPI 模組所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令列選項,NSAPI 中的 php_ini 參數,THTTPD 中的 PHP_INI_PATH 環境變數)
* HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 註冊表位置)
* PHPRC 環境變數
* 當前工作目錄(對於 CLI)
* 網頁伺服器目錄(對於 SAPI 模組)或 PHP 所在目錄(Windows 下其它情況)
* Windows 目錄(C:\windows 或 C:\winnt),或 --with-config-file-path 編譯時間選項指定的位置
<3> 該名字後放在php目錄中不動
<4> 將其拷貝到c:\windows或c:\winnt目錄中
6. 如果 php.ini 被使用了並且你是以模組方式運行 PHP 的,確保在修改了 php.ini 之後重新啟動你的 web server。
7. 將 PHP 整合入 Apache(以 Apache 模組方式安裝)
需要將以下兩行加入到 Apache 的 httpd.conf 設定檔中以設定 Apache 2.0 的 PHP 模組: 例子 6-6. PHP 在 Apache 2.0 中的模組方式
# 對 PHP 4 用這兩行:
LoadModule php4_module "c:/php/php4apache2.dll"
# 別忘了從 sapi 目錄中把 php4apache2.dll 拷貝出來!
AddType application/x-httpd-php .php
# 對 PHP 5 用這兩行:
LoadModule php5_module "c:/php/php5apache2.dll"
AddType application/x-httpd-php .php
# 配置 php.ini 的路徑
PHPIniDir "C:/php"
注: 記得用自己 PHP 實際所在的路徑替換掉上例中的 c:/php/。要留意在 LoadModule 指令中用的是 php4apache2.dll 或 php5apache2.dll,而不是 php4apache.dll 或 php5apache.dll,後者是設計用於 Apache 1.3.x 的。
8. 將php.ini中的display_errors = Off改為display_errors = On,只是為了自己編譯的方便,而在實際使用中,這種配置非常不安全。
同樣的還有:display_startup_errors = Off改為了display_startup_errors = On
9. 將doc_root = 後面加"c:\apache2.2\htdocs"
10. 將extension_dir = "./"改為extension_dir = "c:\php\ext"
路徑名最後加不加"\"?哪種方式更好?
路徑名中使用反斜線還是正斜杠好?
11. 將extension=php_mysql.dll前面的分號";"去掉
安裝完apache後沒出現問題,但和php構建使用時,啟動apache出現這樣的錯誤:httpd.exe: Syntax error on line 99 of C:/Apache2.2/conf/httpd.conf: Cannot load
C:/php/php5apache2.dll into server: The specified module could not be found."
Note the errors or messages above, and press the <ESC> key to exit. 25...
解決辦法:
下載:
http://blog.haloso.com/attachments/200606/01_034408_php5apache2.dllphp5.1.x.rar
並解壓.共有三個檔案.
vcredist_x86.exe
php5apache2.dll
httpd.exe.manifest
1.將 php5apache2.dll 覆蓋掉你原來PHP目錄下的 php5apache2.DLL 檔案.
2.將 httpd.exe.manifest 檔案複製到你的apache安裝目錄下的bin檔案夾下.
3.雙擊運行vcredist_x86.exe安裝.(如果您的系統裡已安裝了 .NET framework 2.就可以省掉這一步)
然後重啟你的apache2.2
<3月1日更新>
更新一:有刪除線的為原來的解決方案,使用一段時間發現這個方法安裝的總是出問題,所以找到了一個更好的解決方案,不用下載上面說到的那個壓縮包。
首先我們先解釋一下這個我們原來在httpd.conf中添加的這段指令:
LoadModule php5_module "c:/php/php5apache2.dll"
其中的php5apache2.dll是apache2.0.x的模組,而我原來以為是apache2.x的模組,php目錄中還有一個檔案php5apache2_2.dll是apache2.2.x的模組,所以如果我們應用php時使用apache2.2作為伺服器,我們應該將這個指令改為:
LoadModule php5_module "c:/php/php5apache2_2.dll"
但如果使用apache2.0.x作為伺服器,這個指令則不用改動。
只需改動一下便可以使上面那個錯誤提示消失,而且運行穩定無問題。
更新二:PHP 不僅限於只產生 HTML 的輸出。還可以建立及操作多種不同映像格式的影像檔,包括 gif,png,jpg,wbmp 和 xpm。更方便的是,PHP 可以直接將映像流輸出到瀏覽器。要處理映像,需要在設定檔中為PHP 加像函數的 GD 庫,我們可以將設定檔中extension=php_gd2.dll前面的分號去掉。
更新三:
前面提到:路徑名最後加不加"/"?哪種方式更好?路徑名中使用反斜線還是正斜杠好?
這兩個問題我在哪本書中見過,但現在想不起來了。但從官方提供的配置來說,顯然路徑名後不加斜杠更好,至於為什麼現在不太清楚。使用反斜線好還是使用正斜杠?這在apache的官方文檔中有說明:
接收檔案名作為參數的指令必須使用Windows檔案名稱而不是Unix檔案名稱。 但是,因為Apache內部使用Unix風格的名字,你必須使用正斜杠而不是反斜線。可以使用盤符;如果省略盤符,將假定使用Apache可執行檔所在盤符。
顯然,顯然這些是針對apache的設定檔的,不知道php中是怎樣。但是在php指令碼中,我們當然應該選擇使用正斜杠,而不是反斜線,因為使用正斜杠的指令碼可移植性更好。
//安裝mysql和apache的其它問題這裡不需要解釋,按照安裝時的提示就可以正確安裝。