上海網(wǎng)站建設(shè)JSP與PHP的比較:JSP利用了Java的跨平臺技術(shù),jsp開發(fā)出的Web應(yīng)用能快速的部署在各個(gè)平臺上,從而可以一處編寫隨處運(yùn)行。它有效地利用了這個(gè)優(yōu)勢,巧妙地將通用性、易用性、速度結(jié)合在一芯,所以Java迅速地在Web開發(fā)人員當(dāng)中推廣開來。在Java Bean. EJB. Java應(yīng)用服務(wù)器、Java事務(wù)服務(wù)器等這樣的強(qiáng)大后臺體系支撐下走向了真正成熟的應(yīng)用。
由于PHP的所有的擴(kuò)展接口都是獨(dú)立團(tuán)隊(duì)開發(fā)完成的,網(wǎng)站制作同時(shí)在開發(fā)時(shí)為了形成相應(yīng)數(shù)據(jù)的個(gè)性化操作,所以PHP雖然支持許多數(shù)據(jù)庫,可是針對每種數(shù)據(jù)庫的開發(fā)語言都完全不同。這樣形成針對一種數(shù)據(jù)庫的開發(fā)工作,在數(shù)據(jù)庫進(jìn)行升級后需要開發(fā)人員進(jìn)行幾乎全部的代碼更改工作。而為了讓應(yīng)用支持更多種的數(shù)據(jù)庫,就需要開發(fā)人員將同樣的數(shù)據(jù)庫操作使用不同的代碼寫出多種代碼庫出來,使程序員的工作量大大增加。
PHP同JSP一樣具有跨平臺的能力,但是網(wǎng)站建設(shè)兩者的實(shí)現(xiàn)方式不同。JSP完全基于Java的跨平臺特性,架構(gòu)于Java虛擬機(jī)(JVM)之上。而PHP采用的是不同平臺之上里新編譯的方式,以適應(yīng)不同平臺之間的差異性。
可以認(rèn)為PHP是一個(gè)純粹的腳本編譯器,它是將腳本編譯成為需要執(zhí)行的函數(shù),再去執(zhí)行它們,整個(gè)系統(tǒng)以一種函數(shù)調(diào)用的方式進(jìn)行,除Windows外,外部擴(kuò)充不能由一些“動態(tài)加載”的方式進(jìn)行,只能靜態(tài)地編譯進(jìn)PHP函數(shù)庫中。從中也就會明白為什么PHP需要支持這種或者那種擴(kuò)充功能時(shí)它一定要與相應(yīng)平臺的lib庫進(jìn)行再編譯的原因。這種方式的最大的好處就是最大化地利用了CPU和內(nèi)存,同時(shí)使用的是本地化的調(diào)用,從而達(dá)到了最快運(yùn)行速度。
PHP在UNIX/Linux下有著更好的編譯環(huán)境、更多的共享資源和更好的性能,Linux+Apache +PHP+MySQL成為許多人選擇的黃金組合。
PHP語法簡單、書寫容易、是一種能快速學(xué)習(xí)、跨平臺、有良好數(shù)據(jù)庫交互能力的開發(fā)語言。對于在Unix/Linux下做Web應(yīng)用的人是一種較好的選擇。
但是PHP安裝復(fù)雜。由于PHP的每一種擴(kuò)充模塊并不是完全由PHP本身來完成,需要許多外部的應(yīng)用庫,如圖形需要扣庫、LDAP需要LDAP庫……這樣在安裝完成相應(yīng)的應(yīng)用后.再聯(lián)編進(jìn)PHP中來。這些都是一般開發(fā)人員在使用PHP前所先要面對的問題,正是這樣的問題讓許多開發(fā)人員轉(zhuǎn)而使用其他的開發(fā)語言,畢竟UNIX沒有那么多用戶。
PHP沒有組件的支持。PHP所有的擴(kuò)充就只能依靠所給出的開發(fā)接口.事實(shí)上這樣的接口還不夠多。網(wǎng)時(shí)難以將集群、應(yīng)用服務(wù)器這樣的特性加入到系統(tǒng)中去,而一個(gè)大型的站點(diǎn)或是一個(gè)企業(yè)級的應(yīng)用一定需要這樣的支持的。因此PHP難以開發(fā)大型應(yīng)用。