分享:
x0
|
[PHP][討論] PHP與其它CGI的比較
PHP與其它CGI的比較
無可置疑的,寫 CGI 的方式有很多種,而 PHP 只是其中的一種選擇罷了。對資深的 Webmaster 而言,CGI 的寫作界面應是隨著需求而改動。畢竟,在一個對系統反映速度要求極嚴格的系統而言,恐怕只有 NSAPI 界面寫的 CGI 程序才能符合要求了。在其它的場合,相信使用 PHP 來作為 CGI 的界面是游刃有餘,而且是最適合的。 程序界面 PHP ASP CGI NSAPI ISAPI 操作系統 均可 Win32 均可 均可 Win32 Web服務器 數種 IIS 均可 Netscape Server IIS 執行效率 快 快 慢 極快 極快 穩定性 佳 中等 最高 差 差 開發時間 短 短 中等 長 長 修改時間 短 短 中等 長 長 程序語言 PHP VB 不限 C/C++ C/Delphi 網頁結合 佳 佳 差 差 差 學習門檻 低 低 高 極高 高 函數支持 多 少 不定 中等 少 系統安全 佳 極差 最佳 佳 尚可 使用網站 超多 多 多 極少 少 改版速度 快 慢 無 慢 慢
其中的 PHP 可用在數種 Web 服務器上;傳統 CGI 就不限是哪種操作系統或 Web 服務器平台;NSAPI 一定要在 Netscape 的服務器 (如 Netscape Enterprise Server 或 FastTrack Server) 上才可以執行,但可支持多種操作系統 (UNIX 或 Win32);ASP 及 ISAPI 只在 IIS 上有完整的功\能。
在穩定性上,由於 NSAPI 或 ISAPI 是動態鏈接的方式,因此在執行若出現問題,會使得 Web 服務器一起癱瘓。而 ASP 在我實際應用經驗上,隔陣子就會使系統不穩定,需要重新啟動操作系統。PHP 在許\多的網站使用上,不但長期使用都沒有問題,而且程序的穩定性也不錯。當然最穩的還是傳統 CGI 程序,因為它是由操作系統負責控制,不會因 CGI 程序的錯誤導致 Web 服務器的不穩定。
在開發及維護時間上,PHP 及 ASP 都有不錯的表現。而 NSAPI 及 ISAPI 則需要長時間的開發過程,在穩定上線後,這兩種界面反倒是效率最佳的方法。傳統的 CGI 程序則要視開發工具語言而定了,用 Perl 或是 shell script 不需要編譯的過程,直接就可以執行,若用 Delphi 或 VC/BCB 甚至用組合語言等都要經過編譯才能執行,至於用 VB 來寫傳統 CGI,唉....。
要比較和網頁結合的能力,PHP 和 ASP 是並駕齊驅的,其它的方式就不能內嵌 HTML 語法了。而這也是影響開發時間的因素之一。
就系統安全性而言,ASP 是最差的,在沒有經過微軟的 IIS Service Pack 處理過,使用 ::$DATA 就可以看到 ASP 的源代碼,這真是叫人不敢領教。當然,傳統 CGI 的程序,由於是由操作系統直接管理,要破解的難度最高,黑客必須由操作系統下手,而不能由 Web 服務器下手。PHP 在許\多商業及非商業使用時,也沒有聽過有什麼安全的問題。
在新增功\能及改版方面,傳統的 CGI 由於不受任何語言限制,沒有這方面的問題。PHP 是最有活力的,數天至數周就有一個新版本出現,每次的新版,就代表更多的功\能及修正更多的錯誤。其它的 ASP、NSAPI、ISAPI 就視它的 Web 服務器改版速度了,ASP 要等到 IIS 5.0 出現時才會有 ASP 3.0,也就是要等到 Windows 2000 正式上市。
總而言之,在 Web 的後端 CGI 程序,就像魚與熊掌一般,沒有高效率又開發方便的選擇。不過相信 PHP 是處於開發容易、效率也不錯的平衡點上。
|