PHP優(yōu)于Node.js的五大理由分享
更新時(shí)間:2012年09月15日 00:51:33 作者:
PHP是一款服務(wù)器端的腳本語言,主要用于動(dòng)態(tài)網(wǎng)頁開發(fā),是目前最流行的開發(fā)語言之一。Node是一款用來編寫高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包
作者Jani Hartikainen發(fā)表了一篇博文,文中將兩者進(jìn)行對比,列舉了PHP優(yōu)于Node.js的五大理由。一起來看下。
1. 容易托管
大多數(shù)Web托管服務(wù)器提供商能為PHP提供托管,而對于Node,你需要找一個(gè)更專業(yè)的托管服務(wù)提供商。通常情況下,需要通過shell訪問來設(shè)置應(yīng)用程序,并且大部分托管提供商不包含這些,即便是包含此功能的,其他的包要相對的廉價(jià)些。
2. PHP在服務(wù)器上安裝更方便、簡易
PHP可輕易的安裝WAMP,LAMP或者M(jìn)AMP,將代碼部署到一個(gè)Web虛擬主機(jī),只需要拖放文件,就可大功告成。
雖然,Node本身并不難安裝,但是仍需要具備更多的專業(yè)知識(shí)才能將它設(shè)置好,為了能夠在服務(wù)器上安裝,你通常需要了解一些Linux系統(tǒng)管理員方面的知識(shí),以便你在安裝過程中當(dāng)系統(tǒng)奔潰時(shí)確保node能夠很好的運(yùn)行。
3. 如果PHP代碼損壞,不會(huì)拖垮整個(gè)服務(wù)器
PHP代碼只運(yùn)行在自己的進(jìn)程范圍中,當(dāng)某個(gè)請求顯示錯(cuò)誤時(shí),它只對特定的請求產(chǎn)生影響。而在Node環(huán)境中,所有的請求均在單一的進(jìn)程服務(wù)器中,當(dāng)某個(gè)請求導(dǎo)致未知錯(cuò)誤時(shí),整個(gè)服務(wù)器都會(huì)受到影響。
4. PHP進(jìn)程短暫
在PHP中每個(gè)進(jìn)程對請求持續(xù)的時(shí)間很短暫,這就意味著你不必為資源配置和內(nèi)存而擔(dān)憂。而Node在進(jìn)程過程中需要運(yùn)行很長一段時(shí)間,你需要小心并妥善管理好內(nèi)存。比如,如果你忘記從全局?jǐn)?shù)據(jù)中刪除條目,這會(huì)輕易的導(dǎo)致你將內(nèi)存泄露。
5.更大的標(biāo)準(zhǔn)庫
PHP的標(biāo)準(zhǔn)庫比Node的標(biāo)準(zhǔn)庫要大的多。
結(jié)束語:
當(dāng)然,并不是說PHP在各個(gè)方面都優(yōu)于Node,在某些事情上,Node還是很不錯(cuò)的(比如,信息實(shí)時(shí)處理方面),Node是一個(gè)有趣的產(chǎn)品,它有一個(gè)優(yōu)雅的架構(gòu)。盡管Node.js 不是銀彈,但它仍然是顆子彈。
開發(fā)者們對編程語言的喜好總是各有千秋,每一門語言都有它存在的價(jià)值,筆者認(rèn)為選擇自己最適合的才是最重要的。除了以上這些,PHP還在哪些方面優(yōu)于Node呢?歡迎您在評論中列出。
1. 容易托管
大多數(shù)Web托管服務(wù)器提供商能為PHP提供托管,而對于Node,你需要找一個(gè)更專業(yè)的托管服務(wù)提供商。通常情況下,需要通過shell訪問來設(shè)置應(yīng)用程序,并且大部分托管提供商不包含這些,即便是包含此功能的,其他的包要相對的廉價(jià)些。
2. PHP在服務(wù)器上安裝更方便、簡易
PHP可輕易的安裝WAMP,LAMP或者M(jìn)AMP,將代碼部署到一個(gè)Web虛擬主機(jī),只需要拖放文件,就可大功告成。
雖然,Node本身并不難安裝,但是仍需要具備更多的專業(yè)知識(shí)才能將它設(shè)置好,為了能夠在服務(wù)器上安裝,你通常需要了解一些Linux系統(tǒng)管理員方面的知識(shí),以便你在安裝過程中當(dāng)系統(tǒng)奔潰時(shí)確保node能夠很好的運(yùn)行。
3. 如果PHP代碼損壞,不會(huì)拖垮整個(gè)服務(wù)器
PHP代碼只運(yùn)行在自己的進(jìn)程范圍中,當(dāng)某個(gè)請求顯示錯(cuò)誤時(shí),它只對特定的請求產(chǎn)生影響。而在Node環(huán)境中,所有的請求均在單一的進(jìn)程服務(wù)器中,當(dāng)某個(gè)請求導(dǎo)致未知錯(cuò)誤時(shí),整個(gè)服務(wù)器都會(huì)受到影響。
4. PHP進(jìn)程短暫
在PHP中每個(gè)進(jìn)程對請求持續(xù)的時(shí)間很短暫,這就意味著你不必為資源配置和內(nèi)存而擔(dān)憂。而Node在進(jìn)程過程中需要運(yùn)行很長一段時(shí)間,你需要小心并妥善管理好內(nèi)存。比如,如果你忘記從全局?jǐn)?shù)據(jù)中刪除條目,這會(huì)輕易的導(dǎo)致你將內(nèi)存泄露。
5.更大的標(biāo)準(zhǔn)庫
PHP的標(biāo)準(zhǔn)庫比Node的標(biāo)準(zhǔn)庫要大的多。
結(jié)束語:
當(dāng)然,并不是說PHP在各個(gè)方面都優(yōu)于Node,在某些事情上,Node還是很不錯(cuò)的(比如,信息實(shí)時(shí)處理方面),Node是一個(gè)有趣的產(chǎn)品,它有一個(gè)優(yōu)雅的架構(gòu)。盡管Node.js 不是銀彈,但它仍然是顆子彈。
開發(fā)者們對編程語言的喜好總是各有千秋,每一門語言都有它存在的價(jià)值,筆者認(rèn)為選擇自己最適合的才是最重要的。除了以上這些,PHP還在哪些方面優(yōu)于Node呢?歡迎您在評論中列出。
相關(guān)文章
php實(shí)現(xiàn)快速排序法函數(shù)代碼
取一個(gè)值與其他值進(jìn)行比較,小的放在這個(gè)值的左邊,大的放在這個(gè)值的右邊,然后按照這個(gè)方式遞歸2012-08-08PHP-CGI進(jìn)程CPU 100% 與 file_get_contents 函數(shù)的關(guān)系分析
有時(shí)候,運(yùn)行 Nginx、PHP-CGI(php-fpm) Web服務(wù)的 Linux 服務(wù)器,突然系統(tǒng)負(fù)載上升,使用 top 命令查看,很多 php-cgi 進(jìn)程 CPU 使用率接近100%。2011-08-08PHP隨機(jī)生成隨機(jī)個(gè)數(shù)的字母組合示例
在很多系統(tǒng)環(huán)境下大家都會(huì)用到字母組合各種編碼。下面為大家介紹下使用php隨機(jī)生成隨機(jī)個(gè)數(shù)的字母組合,感興趣的朋友可以了解下2014-01-01php抽象類和接口知識(shí)點(diǎn)整理總結(jié)
這篇文章主要介紹了php抽象類和接口知識(shí)點(diǎn),整理總結(jié)了php抽象類與接口的概念、原理、操作技巧及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2019-08-08關(guān)于PHP模板Smarty的初級(jí)使用方法以及心得分享
本篇文章是對PHP模板Smarty的初級(jí)使用方法以及心得進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php變量與JS變量實(shí)現(xiàn)不通過跳轉(zhuǎn)直接交互的方法
這篇文章主要介紹了php變量與JS變量實(shí)現(xiàn)不通過跳轉(zhuǎn)直接交互的方法,涉及php與javascript變量傳輸及代碼混編相關(guān)操作技巧,需要的朋友可以參考下2017-08-08php獲取本機(jī)真實(shí)IP地址實(shí)例代碼
這篇文章主要為大家詳細(xì)介紹了php獲取本機(jī)真實(shí)IP地址實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-03-03