www。1000script.com 2002-9-3 1000script專業(yè)腳本
Windows 2000+Apache+MySql+PHP3+PHP4+PERL安裝使用小結(jié)(一)
這里一定有許多和我一樣喜歡嘗試新鮮事物的朋友,尤其是當(dāng)聽說
某某軟件有了新的版本時一定也會迫不及待的去下載一份回來用用再說。
這里我想和大家探討一下以下流行軟件的應(yīng)用,意在拋磚引玉。
OS : Microsoft Windows 2000 PRofessional簡體中文版
WEB SERVER: Apache 1.3.12 for WIN32
MYSQL : MySQL Shareware 3.22.34 for WIN32
PHP3 : PHP 3.0.15 for WIN32
PHP4 : PHP 4.0.0 for WIN32
ZEND : Zend Optimizer beta4 for PHP 4.0.0 for WIN32
【★★★ Apache快速安裝 ★★★】
1. 運(yùn)行 apache_1_3_12_win32.exe ,按照提示安裝,安裝目錄不妨為:
c:\apache
2. 修改 c:\apache\httpd.conf,去掉ServerName前的"#"號,后面
跟本機(jī)的IP地址
3. 運(yùn)行 c:\apache\apache -i 將Apache安裝成為Windows 2000的一個服務(wù)
4. 運(yùn)行 net start apache 啟動Apache
5. 將 c:\apache\htdocs\index.html.en 改名為 index.html ,然后
在瀏覽器地址欄中輸入: http://localhost
【★★★ MySql快速安裝 ★★★】
1. 將 mysql-shareware-3.22.34-win.zip 解壓縮到一個臨時目錄下,
然后運(yùn)行 setup.exe 開始安裝,一切用默認(rèn)值安裝即可
2. 運(yùn)行 c:\mysql\bin\mysqld-shareware --install
將mysql安裝成Windows 2000的一個服務(wù)
3. 運(yùn)行 net start mysql 啟動mysql服務(wù)即可
【★★★ PHP3快速安裝 ★★★】
1. 將 php-3.0.15-win32.zip 解壓縮到一個目錄下,例如
c:\apache\php3
2. 將 c:\apache\php3\php3.ini-dist 拷貝到 c:\winnt 目錄下,
并改名為 php3.ini
3. 修改 c:\apache\conf\srm.conf,加入如下幾行:
ScriptAlias /php3/ "c:/apache/php3/"
Addtype application/x-httpd-php3 .php3
Action application/x-httpd-php3 "/php3/php.exe"
4. 重新啟動Apache (net stop apache, net start apache)
PHP3就可以運(yùn)行了,創(chuàng)建一個文件 c:\apache\htdocs\info.php3 ,
內(nèi)容只有一行:
然后在瀏覽器地址欄中輸入:http://localhost/info.php3
5. 為了加入對MySql的支持,需要編輯 c:\winnt\php3.ini ,
找到extension_dir,將該行改為:
extension_dir = "c:\apache\php3\"
再找到;extension=php3_mysql.dll
去掉前面的分號即可
【★★★ PHP4快速安裝 ★★★】
1. 將 php-4.0.0-Win32.zip 解壓縮到一個目錄下,例如
c:\apache\php
2. 將 c:\apache\php\php.ini-dist 拷貝到 c:\winnt 目錄下,
并改名為 php.ini
3. 將 c:\apache\php\php4ts.dll 拷貝到 c:\winnt\system32 目錄下
4. 修改 c:\apache\conf\srm.conf ,加入如下幾行:
ScriptAlias /php/ "c:/apache/php/"
Addtype application/x-httpd-php .php
Action application/x-httpd-php "/php/php.exe"
5. 重新啟動Apache (net stop apache, net start apache)
PHP4就可以運(yùn)行了,創(chuàng)建一個文件 c:\apache\htdocs\info.php ,
內(nèi)容只有一行:
然后在瀏覽器地址欄中輸入:http://localhost/info.php
PHP4內(nèi)置對MySql的支持,不需要額外設(shè)置
【★★★ Zend Optimizer for PHP4快速安裝 ★★★】
1. 將 ZendOptimizer-Beta4-WindowsNT.zip 解壓縮到一個目錄下,
例如 c:\apache\zend
2. 修改 c:\winnt\php.ini ,在任何地方加入如下兩行:
zend_optimizer.optimization_level=7
zend_extension_ts="c:\apache\zend\ZendOptimizer.dll"
3. 在瀏覽器中刷新info.php,可以看到多了這么一行:
with Zend Optimizer v0.98, Copyright (c) 1998-2000, by Zend Technologies
【★★★ Active Perl快速安裝 ★★★】
1. 鼠標(biāo)雙擊 ActivePerl-5.6.0.613.msi 運(yùn)行之,這是一個Windows
Installer Packge格式的安裝包,在Windows 2000下可以直接
運(yùn)行,按照提示安裝,默認(rèn)的安裝路徑是 c:\perl ,不妨改成
c:\usr
2. 修改 c:\apache\srm.conf ,加入如下一行:
AddHandler cgi-script .pl
3. 在PERL程序的第一行加上:
#!/usr/bin/perl
4. 為了讓Apache也能夠識別*.cgi程序,在 srm.conf 中加入:
AddHandler cgi-script .cgi
這樣一來本地的PERL CGI程序就可以和UNIX主機(jī)上的完全保持一致了
為了讓Apache能夠處理Server Side Include,在 srm.conf 中加入:
AddType text/html .shtml
AddHandler server-parsed .shtml
這樣CGI程序就可以以SSI的方式運(yùn)行了
5. 為了讓以上修改生效,需要重新啟動Apache (net stop apache, net start
apache)
完全按照以上步驟進(jìn)行,就會在不出錯的情況下?lián)碛辛?
Apache+MySql+PHP3+PHP4+PERL的運(yùn)行環(huán)境了!事實(shí)上,
以上方法在Windos NT4.0+SP3+中一樣可行。
【☆☆☆ Apache概要說明 ☆☆☆】
Apache的默認(rèn)安裝目錄是c:\program files\apache group\apache,
不過為了方便起見,不妨將它安裝到c:\apache目錄下。配置文件是
c:\apache\conf\httpd.conf,通常至少需要修改的是ServerName這
一項(xiàng),把注釋符號"#"去掉,最簡單是后面跟IP地址,對于有WINS
的局域網(wǎng)用戶可以用機(jī)器名,對于有DNS的網(wǎng)絡(luò)用戶可以用域名。在
Windows 2000下沒有設(shè)置ServerName這一項(xiàng)會造成Apache不能啟動。
還有一個影響是當(dāng)用如下方式使用Alias時:
Alias /userdir "c:/userdir/"
假如這樣調(diào)用:
http://localhost/userdir/
不會產(chǎn)生任何問題,可是如果這樣調(diào)用:
http://localhost/userdir
那么localhost會被替換成ServerName所指定的值,如果這個值不能
被正確解析,就無法訪問。
用戶的配置項(xiàng)目添加在httpd.conf或者srm.conf中都可以,一說是將
所有的配置項(xiàng)目都放在httpd.conf中,這樣只需要修改維護(hù)這一個
配置文件,比較方便,而且避免了沖突(這是srm.conf文件中說的。
可是httpd.conf確實(shí)太大了,要在里面搜索特定的項(xiàng)目就不很容易。
還有一說是將所有的用戶自己添加修改的配置項(xiàng)目都放在srm.conf中,
這個文件很小,便于察看修改,本人傾向于后者。
在httpd.conf中,Apache的其它常用的可能需要修改的設(shè)置有:
ServerAdmin your@email.address #管理員的e-mail地址
DocumentRoot "c:/apache/htdocs" #默認(rèn)的根路徑
注意路徑全都是用斜線而不是反斜線來分隔DirectoryIndex index.html index.php index.php3 index.htm index.shtml
這一項(xiàng)指明了在每個目錄中的默認(rèn)文檔及其順序 accessFileName .htaccess #目錄訪問的配置文件名
用資源管理器會發(fā)現(xiàn)無法將一個文件改名成".htaccess",不過
在命令行方式下可以,用notepad也可以另存為這個文件名。
【☆☆☆ MySql概要說明 ☆☆☆】
MySql的默認(rèn)安裝目錄是c:\mysql,安裝結(jié)束后沒有任何提示信息說安裝結(jié)束,請點(diǎn)Finish按鈕之類的話,直接就退出了。如果需要安裝到其他目錄,建議先安裝到c:\mysql,然后再整個目錄move到自己希望的地方,例如移動到d:\mysql 之后,需要編輯 d:\mysql\my-example.cnf (*.cnf的文件在Windows 2000中會被注冊成為 SpeedDial文件,在資源管理器中無法操作,要用命令行來啟動notepad編輯,例如運(yùn)行notepadd:\mysql\my-example.cnf ,但是這個文件是UNIX系統(tǒng)下的文本文件格式,在notepad中不能正確換行,可以用write打開編輯,
或者用write打開后保存一次,再用notepad就可以編輯了。)找到basedir一行,去掉前面的"#"號注釋,將后面的路徑改為移動后的目錄(目錄分隔符要用斜線而不是反斜線),然后另存為:c:\my.cnf
用服務(wù)方式啟動的MySql如果用 net stop mysql 來停止,會得到一條 出錯消息,例如:
C:\>net stop mysql
MySql 服務(wù)正在停止.
系統(tǒng)出錯。
系統(tǒng)發(fā)生 1067 錯誤。
進(jìn)程意外終止。
MySql 服務(wù)已成功停止。
這沒有關(guān)系,MySql確實(shí)已經(jīng)停止了。但是假如不希望看到任何出錯消息
的話,可以用以下的命令來停止:
C:\>mysql\bin\mysqladmin -u root shutdown
如果沒有任何提示信息,說明MySql已經(jīng)成功停止了。
需要說明的是MySql雖然號稱安裝簡單,易于使用,但是這畢竟是基于SQL的數(shù)據(jù)庫管理系統(tǒng),所以如果不是對SQL十分精通的話恐怕也不能拿它來做什么。網(wǎng)上有許多管理MySql的工具,例如基于PHP3的有phpMyAdmin,MAP,基于Windows的有MySqlWinAdmin,myAdmin等。由于PHP3與PHP4的MySql功能頗多不兼容之處,所以我建議在Apache中同時安裝PHP3與PHP4。這兩個小程序可以在這里下載:
http://www.nease.net/~yzwang/php/
都只有幾十K,而且phpMyAdmin中還包含有簡體中文的提示,將 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");
然后保存。在啟動它之前還有一件必須要做的事就是編輯 c:\winnt\php3.ini ,
在里面找到 include_path 一行,將它修改為:
include_path = "c:\apache\htdocs\phpmyadmin"
保存后在瀏覽器地址欄中輸入:
http://localhost/phpmyadmin/index.php3
看到?jīng)]有?它說--〉"歡迎使用 phpMyAdmin 2.0.5" !
【☆☆☆ PHP3概要說明 ☆☆☆】
PHP3似乎沒有什么其它需要特殊設(shè)定的東西,唯一需要修改的文件就是 php3.ini 。
上面已經(jīng)提到要修改的兩個部分:
include_path = "c:\apache\htdocs\phpmyadmin;c:\apache\htdocs"
凡是在PHP3中使用了 include 或者 require ,所要包含的文件必須在
include_path 所設(shè)定的路徑之一,好在修改了php3.ini后會立即生效,
不需要重新啟動apache。
extension_dir = "c:\program files\apache\php3\"
這一項(xiàng)也是必需的,否則無法加載擴(kuò)展模塊。
php3.ini中的內(nèi)容是區(qū)分大小寫的!不過Windows的路徑名大小寫沒有關(guān)系。
【☆☆☆ PHP4概要說明 ☆☆☆】
PHP4與PHP3頗多不同之處,php.ini的大小就比php3.ini大了幾乎一倍。
所要修改的項(xiàng)目與php3.ini中的兩項(xiàng)一樣,include_path 與 extension_dir 。
不過由于內(nèi)置了MySql的支持,如果只用MySql的話,那么連 extension_dir
也不用修改,保持默認(rèn)值即可。PHP4提供了兩個php.ini的版本可用選擇:
php.ini-dist
php.ini-optimized
如果使用 php.ini-dist 的話,那么在使用上沒什么問題。可是也許有
好事之徒如我,用了 php.ini-optimized ,那么會遇到重大問題。
大家知道,PHP對于表單的處理極為方便,對于使用了 post 方法的表單,
PHP會自動根據(jù)表單的 name 生成同名的變量,幾乎所有的PHP程序都是
這樣使用自動生成的表單變量的,然而如果將 php.ini-optimized 拷貝
到 c:\winnt 目錄下并改名為 php.ini 的話,將沒有自動表單變量生成!
仔細(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)行其他人寫的PHP范例程序,建議還是改成:
register_globals = On
其實(shí)我使用PHP的經(jīng)驗(yàn)還不是很多,但是仍然注意到以下幾個問題:
1. 在需要包含另外一個文件時可以用 include ,也可以用 require 。
但是要求在 php.ini 中有路徑設(shè)定。假如包含文件的目的僅僅是為了
在瀏覽器中顯示輸出的話,可以用
readfile("filename");
而且參數(shù)還可以是 http 或者 ftp 的 URL 。
2. 要獲取本文件的文件名,許多人用 $PHP_SELF ,可是我覺得用
getenv("PATH_INFO");
更好。使用的場景例如:
">
3. 要讀入整個文件,簡單地使用:
$contents=file("filename");
就可以了,$contents 會成為一個 array 變量,文件的每一行會成為
$contents 中的每一項(xiàng)。陣列下標(biāo)從 0 到 count($contents) 。
【☆☆☆ Zend Optimizer for PHP4概要說明 ☆☆☆】
該軟件也可以從以下地址下載,只有41K:
http://www.nease.net/~yzwang/php/
需要注意的就是這個版本是
Zend Optimizer Beta4 for PHP4.0.0 for WindowsNT,版本號是0.98。
只能用在上述的 PHP4.0.0 for WIN32 這個版本上。
【☆☆☆ Active Perl概要說明 ☆☆☆】
Active State的ActivePerl 5.6是目前最流行的最新版本的PERL解釋器,不明白為什么要8174K這么大? 幾乎是Apache和MySql加起來的大小。不過這是完全版本的PERL,包含有PERL5的各個模塊。之所以建議安裝到c:\usr 目錄下,是由于這樣一來PERL的CGI程序就可以用和在UNIX下一樣的SHABANG行了:
#!/usr/bin/perl
當(dāng)然,按照Windows格式用也可以:
#!c:\usr\bin\perl.exe
這樣在自己的機(jī)器上調(diào)試好的PERL程序不用修改就可以上傳到UNIX主機(jī)上去使用,方便很多。關(guān)于PERL的編程問題不在本文討論的范圍之內(nèi)。