簡單來說,
1、語法有區別:asp是vb,php是類c語言。
2、平臺有區別:asp在windows,php在所有系統。
3、價格有區別:php免費。
4、安全性:php較高。
什么是PHP語言
PHP代表了"超文本處理器",這意味著你必須知道,它是一種服務器端的處理語言,且以HTML的形式出現。它最常用的地方就是網頁了,數據從客戶機發送到Web服務器,信息在此被處理并返回結果。
但這種通用性的語言絲毫不局限于在網頁方面,PHP也能被用在命令行shell中,它可作為操作系統的一個擴展,由此執行相應的PHP文件。
在數據庫方面的應用也是PHP的一個強項,MySQL、SQL、MicrosoftAccess、Oracle及InterBase只不過是采用了PHP語言的一部分數據庫。
什么是ASP語言
ASP是AcitveServerPages的縮寫,它也是一種服務器端的腳本語言,微軟公司為達到動態網頁的效果,把它集成進了服務提供者進程,就是眾所周知的COM(ComponentObjectModels)。
盡管ASP也不只限于在IIS(InternetInformationServices)服務器上運行,但只有在IIS上,才能發揮它的全部功能,最初支持它的操作系統為Windows2000及NT4OptionPack。同樣,ASP在除IIS之外的平臺上也能運行,PWS(PersonalWebServer)就能在WindowsNT、95、98上解釋ASP代碼,但是,功能會有所限制。
成本問題
可能很多人都想要爭論ASP與PHP的成本問題,但這真的不是一個主要的重點所在。大多數購買IIS的用戶是為了與微軟產品的更好集成,話說回來,IIS絕對對得起這多花出去的錢。
PHP與運行它的ApacheWebServer都是免費的,它們是由Apache軟件基金會提供的--安全、免費,正因為此,PHP可以免費安裝,唯一的成本是購買運行它的服務器,及安裝的時間成本。
速度問題
這個問題也是服務器端腳本語言中,雙方爭論最激烈之處,自從這兩種語言來到這個世界,這個問題的爭論就沒有停止過。
一般來說,應用程序在使用完內存之后,應把它"還給"操作系統,只要內存一直在被程序使用,操作系統通常也不會要求收回。PHP使用內存的獨特方法,使之成為了它的一個優點。PHP在得到一塊內存之后,會暫時保留住它,當內存用完后,并沒有把它還給操作系統,而保留用于接下來可能發生操作。這個可以在配置文件中進行修改。
因為基于COM的架構,所以ASP稍微慢一點,原因是它調用了對象模型,而系統又必須加載這些模型,這有點兒像那些使用了控件的編程語言。在內存消耗方面,也與標準應用程序相差無幾。
實際上,速度區別最大的地方是IIS或ApacheWebServer運行于的計算機,如果計算機不同,那么,在配置更好的計算機上的語言將運行得更快一些。
兼容性思考
說到兼容性問題,那就太多了,因為世界上沒有兩臺計算機的硬件與軟件是完全相同的,正因為此,人們都想知道,在他們已擁有的設備上,程序會怎樣運作。
從這個范疇來說,PHP可能已先勝出一步了,它贏在開放源代碼方面(OpenSource),這意味著它背后可能有著不計其數的開發者、更好的資源、更大的文檔庫等等。由于這些因素,PHP開發的越多,程序員學到的也越多。
ASP一般認為只能運行在IIS上,正如前面所提到的,這并不是十分正確,事實上,ASP也能運行在Apache上。ApacheASP可在任意Apache服務器上運行有限的ASP功能,所需做的,只需打開mod_perl。
要記住的是,PHP可運行在任意平臺上,MacOSX、Windows、Linux及Solaris都是可運行它的操作系統。
安全性考慮
不管安全性有多高,任何事物都存在被攻破的可能,唯一缺乏的只是時間與資源的問題。
Apache的安全選項使它比WindowsServer操作系統更具安全性,IIS已有很多已知的安全漏洞,且一直在進行修補;相比而言,Apache的安全性可是有目共睹的。
編程易學性
ASP來源于微軟產品中最常見的語言--VisualBasic,所以,它非常簡單易學;而PHP更多地以C++語言為基礎,這可能也是它速度快的一部分原因吧。
ASP的一般性誤解
ASP與ASP.NET完全不是一種東西,ASP.NET是對ASP編程語言的一次徹底重寫,正因為此,它的大部分功能是不能向后兼容的,它適合于微軟更新的.NET架構。
結論
從個人的角度來看,PHP更快、更安全、更易于使用、兼容性更高,甚至更便宜,但也并不是說ASP一無是處。有關兩者進一步更多的討論也沒什么必要,使用最與你系統兼容、最符合你期望的語言就是了。
新聞熱點
疑難解答