Win2000+Apache+MySql+PHP4+PERL安裝使用小結(jié)
如果需要安裝到其他目錄,建議先安裝到c:\mysql,然后再整個(gè)目錄move到自己希望的地方,例如移動(dòng)到d:\mysql 之后,需要編輯 d:\mysql\my-example.cnf (*.cnf的文件在Windows 2000中會(huì)被注冊(cè)成為 SpeedDial文件,在資源管理器中無(wú)法操作,要用命令行來(lái)啟動(dòng)notepad編輯,例如運(yùn)行notepadd:\mysql\my-example.cnf ,但是這個(gè)文件是UNIX系統(tǒng)下的文本文件格式,在notepad中不能正確換行,可以用write打開(kāi)編輯,
或者用write打開(kāi)后保存一次,再用notepad就可以編輯了。)找到basedir一行,去掉前面的"#"號(hào)注釋?zhuān)瑢⒑竺娴穆窂礁臑橐苿?dòng)后的目錄(目錄分隔符要用斜線而不是反斜線),然后另存為:c:\my.cnf
用服務(wù)方式啟動(dòng)的MySql如果用 net stop mysql 來(lái)停止,會(huì)得到一條 出錯(cuò)消息,例如:
C:\>net stop mysql
MySql 服務(wù)正在停止.
系統(tǒng)出錯(cuò)。
系統(tǒng)發(fā)生 1067 錯(cuò)誤。
進(jìn)程意外終止。
MySql 服務(wù)已成功停止。
這沒(méi)有關(guān)系,MySql確實(shí)已經(jīng)停止了。但是假如不希望看到任何出錯(cuò)消息
的話,可以用以下的命令來(lái)停止:
C:\>mysql\bin\mysqladmin -u root shutdown
如果沒(méi)有任何提示信息,說(shuō)明MySql已經(jīng)成功停止了。
需要說(shuō)明的是MySql雖然號(hào)稱(chēng)安裝簡(jiǎn)單,易于使用,但是這畢竟是基于SQL的數(shù)據(jù)庫(kù)管理系統(tǒng),所以如果不是對(duì)SQL十分精通的話恐怕也不能拿它來(lái)做什么。網(wǎng)上有許多管理MySql的工具,例如基于PHP3的有phpMyAdmin,MAP,基于Windows的有MySqlWinAdmin,myAdmin等。由于PHP3與PHP4的MySql功能頗多不兼容之處,所以我建議在Apache中同時(shí)安裝PHP3與PHP4。這兩個(gè)小程序可以在這里下載:
http://www.nease.net/~yzwang/php/
都只有幾十K,而且phpMyAdmin中還包含有簡(jiǎn)體中文的提示,將 phpMyAdmin_2.0.5.zip 帶目錄名解壓縮到 c:\apache\htdocs目錄下,或者其他設(shè)定了Alias的目錄下,然后編輯文件:c:\apache\htdocs\phpMyadmin\config.inc.php3 在里面找到:
require("english.inc.php3");
一行,將它替換成:require("chinese_gb.inc.php3");
然后保存。在啟動(dòng)它之前還有一件必須要做的事就是編輯 c:\winnt\php3.ini ,
在里面找到 include_path 一行,將它修改為:
include_path = "c:\apache\htdocs\phpmyadmin"
保存后在瀏覽器地址欄中輸入:
http://localhost/phpmyadmin/index.php3
看到?jīng)]有?它說(shuō)--〉"歡迎使用 phpMyAdmin 2.0.5" !
【☆☆☆ PHP3概要說(shuō)明 ☆☆☆】
PHP3似乎沒(méi)有什么其它需要特殊設(shè)定的東西,唯一需要修改的文件就是 php3.ini 。
上面已經(jīng)提到要修改的兩個(gè)部分:
include_path = "c:\apache\htdocs\phpmyadmin;c:\apache\htdocs"
凡是在PHP3中使用了 include 或者 require ,所要包含的文件必須在
include_path 所設(shè)定的路徑之一,好在修改了php3.ini后會(huì)立即生效,
不需要重新啟動(dòng)apache。
extension_dir = "c:\program files\apache\php3\"
這一項(xiàng)也是必需的,否則無(wú)法加載擴(kuò)展模塊。
php3.ini中的內(nèi)容是區(qū)分大小寫(xiě)的!不過(guò)Windows的路徑名大小寫(xiě)沒(méi)有關(guān)系。
【☆☆☆ PHP4概要說(shuō)明 ☆☆☆】
PHP4與PHP3頗多不同之處,php.ini的大小就比php3.ini大了幾乎一倍。
所要修改的項(xiàng)目與php3.ini中的兩項(xiàng)一樣,include_path 與 extension_dir 。
不過(guò)由于內(nèi)置了MySql的支持,如果只用MySql的話,那么連 extension_dir
也不用修改,保持默認(rèn)值即可。PHP4提供了兩個(gè)php.ini的版本可用選擇:
php.ini-dist
php.ini-optimized
如果使用 php.ini-dist 的話,那么在使用上沒(méi)什么問(wèn)題?墒且苍S有
好事之徒如我,用了 php.ini-optimized ,那么會(huì)遇到重大問(wèn)題。
大家知道,PHP對(duì)于表單的處理極為方便,對(duì)于使用了 post 方法的表單,
PHP會(huì)自動(dòng)根據(jù)表單的 name 生成同名的變量,幾乎所有的PHP程序都是
這樣使用自動(dòng)生成的表單變量的,然而如果將 php.ini-optimized 拷貝
到 c:\winnt 目錄下并改名為 php.ini 的話,將沒(méi)有自動(dòng)表單變量生成!
仔細(xì)看看 php.ini-optimized ,有這么一段:
register_globals = Off ; Whether or not to register the EGPCS variables as global
; variables. You may want to turn this off if you don't want
; to clutter your scripts' global scope with user data. This makes
; most sense when coupled with track_vars - in which case you can
; access all of the GPC variables through the $HTTP_*_VARS[],
; variables.
為了能夠正確運(yùn)行其他人寫(xiě)的PHP范例程序,建議還是改成:
register_globals = On
其實(shí)我使用PHP的經(jīng)驗(yàn)還不是很多,但是仍然注意到以下幾個(gè)問(wèn)題:
1. 在需要包含另外一個(gè)文件時(shí)可以用 include ,也可以用 require 。
但是要求在 php.ini 中有路徑設(shè)定。假如包含文件的目的僅僅是為了
在瀏覽器中顯示輸出的話,可以用
readfile("filename");
而且參數(shù)還可以是 http 或者 ftp 的 URL 。
2. 要獲取本文件的文件名,許多人用 $PHP_SELF ,可是我覺(jué)得用
getenv("PATH_INFO");
更好。使用的場(chǎng)景例如:
">
3. 要讀入整個(gè)文件,簡(jiǎn)單地使用:
$contents=file("filename");
就可以了,$contents 會(huì)成為一個(gè) array 變量,文件的每一行會(huì)成為
$contents 中的每一項(xiàng)。陣列下標(biāo)從 0 到 count($contents) 。
【☆☆☆ Zend Optimizer for PHP4概要說(shuō)明 ☆☆☆】
該軟件也可以從以下地址下載,只有41K:
http://www.nease.net/~yzwang/php/
需要注意的就是這個(gè)版本是
Zend Optimizer Beta4 for PHP4.0.0 for WindowsNT,版本號(hào)是0.98。
只能用在上述的 PHP4.0.0 for WIN32 這個(gè)版本上。
【☆☆☆ Active Perl概要說(shuō)明 ☆☆☆】
Active State的ActivePerl 5.6是目前最流行的最新版本的PERL解釋器,不明白為什么要8174K這么大? 幾乎是Apache和MySql加起來(lái)的大小。不過(guò)這是完全版本的PERL,包含有PERL5的各個(gè)模塊。之所以建議安裝到c:\usr 目錄下,是由于這樣一來(lái)PERL的CGI程序就可以用和在UNIX下一樣的SHABANG行了:
#!/usr/bin/perl
當(dāng)然,按照Windows格式用也可以:
#!c:\usr\bin\perl.exe
這樣在自己的機(jī)器上調(diào)試好的PERL程序不用修改就可以上傳到UNIX主機(jī)上去使用,方便很多。關(guān)于PERL的編程問(wèn)題不在本文討論的范圍之內(nèi)。