經常在網上看到有初學編程的慨歎搭建 APACHE+MYSQL+ PHP 非常麻煩,如果你也有這樣的煩惱,可以嘗試使用WampServer,由德國人開發,在Windows平台下整合的Apache、MySQL、PHP服務,其中還內建SQLitemanager和Phpmyadmin軟體,極大方便大家的安裝和使用。
2.0 組件:
Les versions disponibles sont :
- PHP 4.12 à PHP 5.2.5
- Apache 1.3.35 à Apache 2.2.6
- MySQL 4.1.20 à MySQL 5.0.45
英文網站:http://www.wampserver.com/en/download.php
:http://www.wampserver.com/en/index.php
參考:解讀WAMP和LAMP:從對立到融合
閱讀提示:早期安裝一個LAMP系統是比較負責的,隨著Linux的普及現在安裝一個LAMP系統變得比較簡單另外許多Linux發行版本(Redhat 、Debian)安裝時可以自動設定Apache、php、mysql等組件。相比反而Wamp安裝較為複雜,不過現在有多種種WAMP軟體包可以下載和安裝在Windows伺服器上。
一、LAMP的起源
LAMP這個詞的由來最早始於德國雜誌“ct Magazine”,Michael Kunze在1990年最先把這些公事包在一起創造了LAMP的縮寫字。這些組件雖然並不是開開始就設計為一起使用的,但是,這些開源軟體都可以很方便的隨時獲得並免費獲得。這就導致了這些組件經常在一起使用。在過去的幾年裡,這些組件的相容性不斷完善,在一起的應用情形變得非常普便。為了改善不同組件之間的協作,已經建立了某些擴充功能。
目前,幾乎在所有的Linux發布版中都預設包含了“LAMP stack”的產品。這些產品組成了一個強大的Web應用程式平台。“LAMP stack”中的每一個組件都是一個FOSS(免費或者開源軟體/Free or Open Source Software)的執行個體。FOSS方法的好處有三個方面。第一,FOSS軟體的性質意味著應用程式可以免費下載,能夠讓更廣泛的人們不用付費就可以使用這個應用軟體。這種免費的方式對於廣大使用者特別具有吸引力。這些使用者如果不使用免費的軟體就需要付費購買“專業”的商用軟體工具。這在製作網站方面通常是一種昂貴的步驟。FOSS許可證是開放式的,因此對於基於FOSS技術的應用軟體的使用和限制都非常少。不需要為軟體的發布支付任何許可證費就可以開發和應用基於LAMP的工程。因此,這對業餘愛好者和專業人員都非常有吸引力。FOSS技術(包括LAMP)的增長和使用的主要原因是因為使用者能夠訪問其資源,修複故障和改善應用軟體的效能都非常容易。與開源軟體許可證結合在一起,這種方法為許多企業簡化了開發過程,並且為企業提供了專有軟體或者商業軟體的限制中所沒有的靈活性。
二、WAMP的出現
以前微軟和一些傳統的開源廠商認為,是否使用他們的軟體乃是一個非此即彼的決定,即:要麼選擇Microsoft Windows完全排他的.Net基礎設施;要麼就運行LAMP應用程式棧,這包括Linux、MySQL資料庫、Apache Web伺服器和3種以P字母起頭的程式語言:Perl、Python和PHP。簡單地說,前一種選擇保證更容易地管理,但價格更貴;後一種選擇具有更低的成本和更好的安全性,但代價是更高的複雜性。但隨著LAMP逐漸成熟,LAMP也悄悄地演化出了WAMP。這是一種中間路線:稱之為WAMP(Windows、Apache、MySQL和Perl/Python/PHP)。現在已經有越來越多的IT使用者認為,這種方式可以提供兩個陣營中最好的東西。
三、WAMP和LAMP 平台的組成
WAMP和LAMP 平台由幾個組件組成,呈分層結構。每一層都提供了整個軟體棧的一個關鍵區段:
•Linux和windows:Linux和windows 處在最低層,提供作業系統。其他每個組件實際上也在其上運行。但是,並不一定局限於Linux和windows,如有必要,其他組件包括: Mac OS X 或 UNIX。
•Apache:次低層是 Apache,它是一個 Web 服務器。Apache 提供可讓使用者獲得 Web 頁面的機制。Apache 是一款穩定的、支援關鍵任務的伺服器,Internet 上超過 65% 的網站都使用它作為 Web 服務器。PHP 組件實際上是在 Apache 中,動態網頁面可以通過 Apache 和 PHP 建立。
•MySQL:MySQL 提供 LAMP 系統的資料存放區端。有了 MySQL,便可以獲得一個非常強大的、適合運行大型複雜網站的資料庫。在 Web 應用程式中,所有資料、產品、帳戶和其他類型的資訊都存放在這個資料庫中,通過 SQL 語言可以很容易地查詢這些資訊。
•PHP:PHP 是一門簡單而有效程式設計語言,它像是粘合劑,可以將 LAMP 系統所有其他的組件粘合在一起。您可以使用 PHP 編寫能訪問 MySQL 資料庫中的資料和 Linux 提供的一些特性的動態內容。
•Perl:Perl 是一種指令碼語言。這表示它並不編譯成可執行程式,而是在運行時進行解釋的一組指令(指令碼)。 Perl 是代表“實際抽取和報告語言”(practical extraction and report language) 的字首組合詞。Perl 被譽為語言中的“瑞士軍刀”。它功能強大且非常靈活。語言學家 Larry Wall 在廿世紀八十年代後期在 NASA 擔任系統管理員時開發了 Perl。他建立 Perl 的目的是使構建報告的任務變得更簡單。 Perl 現在用來執行許多任務。它也許是用於在 Web 上進行 CGI(公用網關介面)編程最流行的語言。其原因就是 Perl 是一種功能非常強大的文本處理器,而 Web 編程主要就是文本處理。另外,使用 Perl 通常比使用 C/C++、Java 或 Tcl 更簡單,而且它比 Python 更早出現。Perl被稱為是一種“膠水語言”。所謂膠水語言,也就是說它是可以用來將許多元素串連在一起的語言。
•Python:Python一種互動式物件導向的解釋型程式設計語言。 Python使用非常清晰的文法實現非常強大的功能。它具有模組、類、意外處理以及非常進階別的動態資料類型和動態定義。並且,它具有介面和庫函數供多種系統調用。內建模組還可以使用C或C++語言方便地編寫。對於使用者介面的編程,Python同樣能夠勝任。 Python可以運行在Linux 、UNIX、Windows、DOS、OS/2、Mac以及Amiga等等多種環境下。 Python雖然有著作權,但完全可以免費使用和分發,甚至是為了商業用途。
WAMP和LAMP 平台由幾個組件組成,呈分層結構1 。
四、Lamp和wamp的對比
◆安裝複雜度
早期安裝一個LAMP系統是比較負責的,隨著Linux的普及現在安裝一個LAMP系統變得比較簡單另外許多Linux發行版本(Redhat 、Debian)安裝時可以自動設定Apache、php、mysql等組件。相比反而Wamp安裝較為複雜,不過現在有多種種WAMP軟體包可以下載和安裝在Windows伺服器上。傳統情況下,AMPP -- Apache、MySQL、PHP 和 Perl -- 都是以單獨產品的形式進行安裝和配置。將它們整合到中介軟體軟體中的承諾使得開源項目的開發相對於 J2EE應用程式的開發來說更具競爭力,至少對於底層的應用程式來說是如此。主要包括以下軟體:
1.Wamp5: WAMP5 該軟體在你的系統上自動地安裝Apache, PHP5, 和MySQL。該軟體配以一個以系統托盤表徵圖啟動並執行服務管理員,以及一個外掛程式,現在允許你的在同一個伺服器上運行PHP4.3.9和PHP5.0.2。 其官方網站: http://www.wampserver.com/
2.AppServ:是 PHP 網頁架站工具組合包,泰國的作者將一些網路上免費的架站資源重新封裝成單一的安裝程式,以方便初學者快速完成架站,AppServ 4.0所包含的軟體有:PHP 4.3.8、Apache 1.3.31、MySQL 4.0.20、Zend Optimizer 2.5.3(Zend Performance是老牌的PHP加速/最佳化軟體,依託於PHP領域最知名的Zend公司。目前已經推出4.0版本,它可以為PHP應用提供者加速,內容緩衝,檔案壓縮,下載服務等,功能十分強大,獲得好幾個PHP雜誌的推薦獎。)、phpMyAdmin 2.6.0-rc1、Perl 5.8.4。其官方網站:http://appserv.sourceforge.net/
3.XAMPP:XAMPP 是一個功能全面的 AMPP (Apache、MySQL、PHP、Perl)軟體包,這是 Linux和Windows 平台上可以使用的幾種非商業 AMPP 中介軟體之一。採用這種緊密的整合,XAMPP 可以運行任何程式:從個人首頁到功能全面的產品網站(雖然這僅僅用於開發目的;出於安全考慮,XAMPP 還不適於用在產品伺服器上)。基本的軟體包包括系統、編程和伺服器軟體: Apache, MySQL, PHP,(在撰寫本文時版本為 4.3.8 和 5.0.1) Perl, ProFTPD,一個 FTP 伺服器 ,OpenSSL,可以支援安全通訊端層。
4.WAPM:WAPM是運行於Windows平台的綜合網路伺服器系統。 它包含了以下組件: Apache2,是互連網最最最流行的WEB服務軟體,用以提供基本的WEB服務功能,同時支援SSL,GZIP,LIC(IP同時串連數限制)功能; PHP4,PHP5,是互連網最最最流行的動態網頁語言,用以提供PHP語言的網路應用程式開發,同時支援ZendOptimizer最佳化功能和Zend加密功能,或者Turck MMCahe對PHP的加速、最佳化、加密、動態緩衝功能; Tomcat4,用以提供互連網最最最熱門的JSP(JavaServer Pages)和Servlet(Java Servlet)的服務解析。 MySQL4,用以提供互連網最最最流行的SQL資料庫功能。
◆管理複雜度
通常單獨管理LAMP和WAMP都是比較複雜的。隨著許多管理套件的出現二者的管理痛點都趨於簡單化。二者相比不相上下。圖2 是wamp5在Windows下的管理介面。圖3 是XAMPP 在Linux下的管理介面。
◆安全效能和執行效能
在安全效能方面筆者認為Lamp目前高於WAMP系統,目前只有部分WAMP軟體包自動設定支援SSL串連(包括WAMP和XAMPP),所以XAMPP的官方提示是:所以出於安全考慮,XAMPP 還不適於用在產品伺服器上。
執行效能上Lamp目前高於WAMP系統。一些WAMP的軟體運行還需要類比環境工具,如cygwin是一個在windows平台上啟動並執行unix類比環境,cygnus當初首先把gcc,gdb,gas等開發工具進行了改進,使他們能夠產生並解釋win32的目標檔案。然後,他們要把這些工具移植到windows平台上去。他們基於win32 api寫了一個unix系統庫的類比層。這樣,只要把這些工具的原始碼和這個共用庫串連到一起,就可以使用unix主機上的交叉編譯器來產生可以在windows平台上啟動並執行工具集。以這些移植到windows平台上的開發工具為基礎,cygnus又逐步把其他的工具(幾乎不需要對原始碼進行修改,只需要修改他們的配置指令碼)軟體移植到windows上來。這樣,在windows平台上運行bash和開發工具、使用者工具,感覺好像在unix上工作。使用cygwin會影響執行效能。
由於LAMP的不斷髮展而產生的效果也正符合我們常說的蝴蝶效應,就是當某個地方的蝴蝶扇動了一下的翅膀,卻可能影響全球的氣候。自從微軟推出MSDE後,不但沒有遏制LAMP的發展勢頭,反而使LAMP又演化出了WAMP和WIMP(Windows+IIS+MySQL+PHP)以及MMAP (Mac OS+Apache+MySQL+PHP)。作為使用者來說我們歡迎WAMP的出現它提供了更多的選擇。