什么是PHP
PHP代表了"超文本處理器",這意味著(zhù)你必須知道,它是一種服務(wù)器端的處理語(yǔ)言,且以HTML的形式出現。它最常用的地方就是網(wǎng)頁(yè)了,數據從客戶(hù)機發(fā)送到Web服務(wù)器,信息在此被處理并返回結果。
但這種通用性的語(yǔ)言絲毫不局限于在網(wǎng)頁(yè)方面,PHP也能被用在命令行shell中,它可作為操作系統的一個(gè)擴展,由此執行相應的PHP文件。
在數據庫方面的應用也是PHP的一個(gè)強項,MySQL、SQL、Microsoft Access、Oracle及InterBase只不過(guò)是采用了PHP語(yǔ)言的一部分數據庫。
什么是ASP
ASP是Acitve Server Pages的縮寫(xiě),它也是一種服務(wù)器端的腳本語(yǔ)言,微軟公司為達到動(dòng)態(tài)網(wǎng)頁(yè)的效果,把它集成進(jìn)了服務(wù)提供者進(jìn)程,就是眾所周知的COM(Component Object Models)。
盡管ASP也不只限于在IIS(Internet Information Services)服務(wù)器上運行,但只有在IIS上,才能發(fā)揮它的全部功能,最初支持它的操作系統為Windows 2000及NT4 Option Pack。同樣,ASP在除IIS之外的平臺上也能運行,PWS(Personal Web Server)就能在Windows NT、95、98上解釋ASP代碼,但是,功能會(huì )有所限制。
成本問(wèn)題
可能很多人都想要爭論ASP與PHP的成本問(wèn)題,但這真的不是一個(gè)主要的重點(diǎn)所在。大多數購買(mǎi)IIS的用戶(hù)是為了與微軟產(chǎn)品的更好集成,話(huà)說(shuō)回來(lái),IIS絕對對得起這多花出去的錢(qián)。
PHP與運行它的Apache Web Server都是免費的,它們是由Apache軟件基金會(huì )提供的--安全、免費,正因為此,PHP可以免費安裝,唯一的成本是購買(mǎi)運行它的服務(wù)器,及安裝的時(shí)間成本。
速度問(wèn)題
這個(gè)問(wèn)題也是服務(wù)器端腳本語(yǔ)言中,雙方爭論最激烈之處,自從這兩種語(yǔ)言來(lái)到這個(gè)世界,這個(gè)問(wèn)題的爭論就沒(méi)有停止過(guò)。
一般來(lái)說(shuō),應用程序在使用完內存之后,應把它"還給"操作系統,只要內存一直在被程序使用,操作系統通常也不會(huì )要求收回。PHP使用內存的獨特方法,使之成為了它的一個(gè)優(yōu)點(diǎn)。PHP在得到一塊內存之后,會(huì )暫時(shí)保留住它,當內存用完后,并沒(méi)有把它還給操作系統,而保留用于接下來(lái)可能發(fā)生操作。這個(gè)可以在配置文件中進(jìn)行修改。
因為基于COM的架構,所以ASP稍微慢一點(diǎn),原因是它調用了對象模型,而系統又必須加載這些模型,這有點(diǎn)兒像那些使用了控件的編程語(yǔ)言。在內存消耗方面,也與標準應用程序相差無(wú)幾。
實(shí)際上,速度區別最大的地方是IIS或Apache Web Server運行于的計算機,如果計算機不同,那么,在配置更好的計算機上的語(yǔ)言將運行得更快一些。
兼容性思考
說(shuō)到兼容性問(wèn)題,那就太多了,因為世界上沒(méi)有兩臺計算機的硬件與軟件是完全相同的,正因為此,人們都想知道,在他們已擁有的設備上,程序會(huì )怎樣運作。
從這個(gè)范疇來(lái)說(shuō),PHP可能已先勝出一步了,它贏(yíng)在開(kāi)放源代碼方面(Open Source),這意味著(zhù)它背后可能有著(zhù)不計其數的開(kāi)發(fā)者、更好的資源、更大的文檔庫等等。由于這些因素,PHP開(kāi)發(fā)的越多,程序員學(xué)到的也越多。
ASP一般認為只能運行在IIS上,正如前面所提到的,這并不是十分正確,事實(shí)上,ASP也能運行在Apache上。Apache ASP可在任意Apache服務(wù)器上運行有限的ASP功能,所需做的,只需打開(kāi)mod_perl。
要記住的是,PHP可運行在任意平臺上,Mac OS X、Windows、Linux及Solaris都是可運行它的操作系統。
安全性考慮
不管安全性有多高,任何事物都存在被攻破的可能,唯一缺乏的只是時(shí)間與資源的問(wèn)題。
Apache的安全選項使它比Windows Server操作系統更具安全性,IIS已有很多已知的安全漏洞,且一直在進(jìn)行修補;相比而言,Apache的安全性可是有目共睹的。
編程易學(xué)性
ASP來(lái)源于微軟產(chǎn)品中最常見(jiàn)的語(yǔ)言--Visual Basic,所以,它非常簡(jiǎn)單易學(xué);而PHP更多地以C++語(yǔ)言為基礎,這可能也是它速度快的一部分原因吧。
ASP的一般性誤解
ASP與ASP.NET完全不是一種東西,ASP.NET是對ASP編程語(yǔ)言的一次徹底重寫(xiě),正因為此,它的大部分功能是不能向后兼容的,它適合于微軟更新的 .NET架構。
結論
從個(gè)人的角度來(lái)看,PHP更快、更安全、更易于使用、兼容性更高,甚至更便宜,但也并不是說(shuō)ASP一無(wú)是處。有關(guān)兩者進(jìn)一步更多的討論也沒(méi)什么必要,使用最與你系統兼容、最符合你期望的語(yǔ)言就是了。
聯(lián)系客服