PHP:手工安裝或者使用安裝程序安裝。(以php5.2.17為例)
Windows 下的PHP,可以在http://windows.php.NET/download/ 下載。
打開該頁(yè)面,我們會(huì)看到
php怎么安裝?php安裝 圖文教程 msi zip
前面的VC6和VC9是什么意思呢?從該網(wǎng)頁(yè)的側(cè)邊欄英文注釋我們可以知道答案。
- Which version do I choose?
- If you are using PHP with Apache 1 or Apache2 from apache.org you need to use the VC6 versions of PHP
- If you are using PHP with IIS you should use the VC9 versions of PHP
- VC6 Versions are compiled with the legacy Visual Studio 6 compiler
- VC9 Versions are compiled with the Visual Studio 2008 compiler and have improvements in performance and stability.
在這里我們選擇和Apache相關(guān)聯(lián)的vc6,而V6版本中又分為.zip版和Installer(msi)版本,這2個(gè)是什么意思呢?
Installer版本表示圖形化安裝程序安裝.zip表示是手動(dòng)安裝
Installer版本 不包含任何外部的 PHP 擴(kuò)展(PHP_*.dll),例如MySQL的擴(kuò)展,沒有這個(gè)擴(kuò)展,php就無法與mysql連接。
如果需要,可以在 Windows ZIP 包和 PECL 中找到。
注:雖然 Windows 安裝程序是讓 PHP 工作的最容易的方法,但是它有很多限制。
例如,它不支持自動(dòng)安裝 PHP 擴(kuò)展。使用安裝程序安裝 PHP 不是最好的方式。
警告:請(qǐng)注意,這種安裝方式安裝的 PHP 不是安全的。如果需要一個(gè)安全的 PHP 設(shè)置,最好使用手動(dòng)方式安裝,并手動(dòng)設(shè)置好每個(gè)選項(xiàng)。
手工安裝
雖然目前有很多多合一的安裝包,而且也發(fā)布了一個(gè) Microsoft Windows 的 PHP 安裝程序,但是仍然建議用戶花些時(shí)間自己手動(dòng)安裝 PHP。
因?yàn)檫@樣才可以更加了解這套系統(tǒng),并能夠在需要的時(shí)候更方便的安裝 PHP 擴(kuò)展dll文件。
下面詳細(xì)介紹php的安裝和Apache加載php。
把解壓的 php 重命名為 php5. 并復(fù)制到C 盤目錄下. 即安裝路徑為 c:/php5
1,找到php 目錄下的 php.ini.recommended ( 或者php.ini-dist) 文件, 重命名為 php.ini,必須只能復(fù)制到系統(tǒng)盤的windows 目錄下( 以c:/windows 為例). 因?yàn)檫@是php 規(guī)定的。從最后的phpinfo.php 文件可以看到這個(gè)。
我復(fù)制到原目錄下 后,結(jié)果導(dǎo)致無法連接到數(shù)據(jù)庫(kù)。出現(xiàn)如下錯(cuò)誤:
Fatal error : Call to undefined function mysql_connect() in D:/public_html/testMysql.php on line 6
我們從 phpinfo.php 中看到 Configuration File Path 的值是 C:/WINDOWS 。這是 PHP 規(guī)定的,但是經(jīng)我測(cè)試,沒有將 php.ini 放到 windws 下,導(dǎo)致 Loaded Configuration File 的值是 none ,正常情況下是 C:/WINDOWS/php.ini
2,再把php 目錄下的php5ts.dll,libmysql.dll 復(fù)制到目錄 c:/windows/system32 下.
注意:CGI 和 CLI 可執(zhí)行文件以及 web 服務(wù)器模塊都需要 php5ts.dll 。
要讓 php5ts.dll 能正確被搜索到,有下面三個(gè)選擇:①?gòu)?fù)制該文件到 Windows 系統(tǒng)目錄,②復(fù)制該文件到 web 服務(wù)器的目錄,③把 PHP 目錄(例如 d:/PHP )添加到 PATH 環(huán)境變量中。為了將來更好的維護(hù),建議使用最后一個(gè)選擇,將 PHP 目錄添加到 PATH 環(huán)境變量中,因?yàn)檫@樣更便于將來升級(jí) PHP 。但我之前用的是第一個(gè)選擇。
編輯php.ini 文件
打開c:/windows/php.ini 文件
1 設(shè)置擴(kuò)展路徑
查找 extension_dir 有這么一行
extension_dir = "./"
將此行改成
extension_dir = "C:/php5/ext"
其中C:/php5 是你安裝php 的路徑. 路徑不正確將無法加載dll
(注意:有些php 版本是 ;extension_dir = "./" 要把前面的分號(hào)去掉)
2 分別查找
;extension=php_mbstring.dll
;extension=php_gd2.dll
;extension=php_mysql.dll
把上面3 項(xiàng)前面的分號(hào)去掉, 這樣php 就可以加載這些dll 了,從哪里加載,從上面extension_dir="C:/php5/ext" 所指定路徑中加載。
如果沒有加載 php_gd2.dll php 將不能處理圖像. 沒有加載php_mysql.dll php 將不支持mysql 函數(shù)庫(kù)
php_mbstring.dll 在后面使用phpmyadmin 時(shí)支持寬字符
當(dāng)然,還有另外一種加載方法:把php5/ext 目錄下的php_gd2.dll,php_mysql.dll,php_mbstring.dll 文件復(fù)制到c:/windows/system32 下
這2 種方法經(jīng)過我的測(cè)試,都是可以的。( 大家以后以后要加載一些dll, 比如說php_mysqli.dll, 也就懂得怎么加載了,2 種方法都是可以的)
3 設(shè)置會(huì)話保存路徑
查找session.save_path 有這么一行
;session.save_path = "N;/path"
在此行后加入一行( 注意是加入一行, 不是加到后面 )
session.save_path = "C:/WINDOWS/Temp"
保存到你的臨時(shí)目錄下, 這里完全可以保存到windows 臨時(shí)目錄Temp 下
4,還有比較值得注意的是 short_open_tag . 有一些php 版本默認(rèn)是Off 的.
也就是說 php 不能使用短標(biāo)記如 必須使用由于短標(biāo)記使用方便, 并且很多程序也是用短短標(biāo)記來寫, 如discuz 等,如果不把 short_open_tag 改成On 將出現(xiàn)的癥狀將很難判斷是上面原因, 這里建議修改
查找
short_open_tag = Off
改為
short_open_tag = On
5 是否顯示錯(cuò)誤 display_errors
出于安全性考慮,display_errors 有些版本也默認(rèn)為 Off.
就是說在調(diào)試時(shí), 如果php 代碼有誤, 就只出現(xiàn)一個(gè)空白頁(yè). 而不會(huì)顯示出錯(cuò)原因和出錯(cuò)行數(shù).
這樣調(diào)試起來將非常不便, 建議根據(jù)自己需要修改
查找
display_errors = Off ( 注意不是 ; - display_errors = Off [Security])
改成
display_errors = On
6,顯示NOTICE 敬告提示
第五步雖然打開了出錯(cuò)提示, 但出錯(cuò)報(bào)告還受到 error_reporting 的控制.
php5 默認(rèn)關(guān)閉NOTICE 敬告提示, 如果是在本地調(diào)試, 建議打開NOTICE 敬告提示.
查找
error_reporting = E_ALL & ~E_NOTICE
改成
error_reporting = E_ALL
另外提示一下, 在程序中也可以通過error_reporting() 控制錯(cuò)誤報(bào)告輸出, 具體怎么用大家參考下手冊(cè).
7,register_globals
出于安全性考慮它默認(rèn)也是Off
當(dāng)register_globals=Off 的時(shí)候, 下一個(gè)程序接收的時(shí)候應(yīng)該用$_POST['user_name'] 和$_POST['user_pass'] )
當(dāng)register_globals=On 的時(shí)候, 下一個(gè)程序可以直接使用$user_name 和$user_pass 來接受值.
更詳細(xì)的說明請(qǐng)參考
http://www.phpfans.net/bbs/archiver/?tid-234.htm
建議根據(jù)自己需要修改 . 這里不建議修改, 畢竟存在安全隱患.
8,php5 時(shí)差問題,時(shí)間相差八小時(shí)
為什么呢?PHP5 系列版本新增了時(shí)區(qū)設(shè)置, 默認(rèn)為格林威治時(shí)間, 與中國(guó)所在的東8 區(qū)正好相差8 個(gè)小時(shí)
查找date.timezone 有這么一行
;date.timezone =
將; 去掉, 改成
date.timezone = PRC
其中PRC :People's Republic of China 中華人民共和國(guó),
更詳細(xì)解決方法請(qǐng)參考本論壇的
http://www.phpfans.net/bbs/archiver/?tid-60.html
配置Apache 讓Apache 加載配置好的PHP
1 打開apache配置文件http.conf
2 修改網(wǎng)站根目錄(個(gè)人意愿)
查找DocumentRoot 有這么一行
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"
這就是你網(wǎng)站的根目錄, 你可以修改, 也可以用默認(rèn)的. 如果改, 還要修改下面這項(xiàng), 否則可能會(huì)出現(xiàn) 403 錯(cuò)誤
查找 This should be changed to whatever you set DocumentRoot to
在它下面兩行有
把上面兩項(xiàng)的 C:/Program Files/Apache Group/Apache2/htdocs 改成你想要的目錄
3,查找 DirectoryIndex index.html
修改成
DirectoryIndex index.html index.html.var index.php
這樣index.php 可以充當(dāng)默認(rèn)頁(yè)面了
4,Apache 中模塊化安裝php
查找 # LoadModule foo_module modules/mod_foo.so
在此行后加入一行
LoadModule php5_module C:/php5/php5apache2_2.dll
(其中C:/php5/php5apache2_2.dll 是你安裝php 的相應(yīng)路徑.
注意不要把php5apache2_2.dll,php5apache2.dll 和php5apache.dll 混淆.php5apache.dll 只適用于apache 版本1 的.
PHP5 壓縮包里的php5apache2.dll 只適用于apache2.0.* 版本, 如果是2.2.* 以上版本, 必須使用php5apache2_2.dll. 否則就可能會(huì)出現(xiàn)
"Cannot load C:/php/php5apache2.dll into server: The specified module could not be found."
或者:
"The requested operation has failed"
的情況. 關(guān)于這個(gè)問題的解決方法可以參考本論壇的
http://www.phpfans.net/bbs/viewt ... &extra=page%3D1
不過php5apache2_2.dll 出來之后也就沒有多少參考價(jià)值了)
5,查找 AddType application/x-gzip .gz .tgz
在此行后加入一行
AddType application/x-httpd-php .php
這樣apache 就可以解釋php 文件了
到這里配置基本完成了
######## 重啟apache #########
在網(wǎng)站根目錄下創(chuàng)建一個(gè) phpinfo.php 文件
<?php phpinfo();?>
在瀏覽器打開
http://localhost/phpinfo.php
如果出現(xiàn)php信息,則說明php 已經(jīng)配置好了.
新聞熱點(diǎn)
疑難解答
圖片精選