文章來(lái)源Lccee.com
PHP32和64的選擇和區(qū)別。PHP是具有32bit和64bit的區(qū)別的。
32bit的php的整型數(shù)據(jù)最大最小正負(fù)2GB左右(0x7FFFFFFF)
64bit的php的整型數(shù)據(jù)最大最小正負(fù)9百多萬(wàn)TB左右(0x7FFFFFFFFFFFFFFF)
網(wǎng)站代碼經(jīng)常需要注意整型數(shù)據(jù)的極限值。
版本選擇:如果你的
電腦/服務(wù)器是32位的, 那裝x86的版本
如果是64位的, 裝x64的版本
PHP線程安全和非線程安全的選擇和區(qū)別。備注:在PHP5.3以后,PHP不再有ISAPI模式,安裝后也不再有php5isapi.dll這個(gè)文件。
Windows版的PHP從版本5.2.1開(kāi)始有Thread Safe(線程安全)和None Thread Safe(NTS,非線程安全)之分,
Windows下的PHP版本分兩種:線程安全版本與非線程安全版本,線程安全和非線程安全只針對(duì)windows,而 linux下沒(méi)有這個(gè)區(qū)分。
那么兩者區(qū)別在何處?到底應(yīng)該用哪種?簡(jiǎn)單的介紹來(lái)說(shuō)。
如果是使用ISAPI的方式來(lái)運(yùn)行PHP就必須用Thread Safe(線程安全)的版本;而用FastCGI模式運(yùn)行PHP的話就沒(méi)有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。
要論兩者的區(qū)別,詳細(xì)論說(shuō)起來(lái)比較麻煩,從使用者的角度,記住什么時(shí)候用哪種版本的區(qū)別就可以了。
1、windows + IIS + FastCGI :使用非線程安全版本。理由:
以FastCGI方式安裝PHP時(shí),PHP擁有獨(dú)立的進(jìn)程,并且FastCGI是單一線程的,不存在多個(gè)線程之間可能引發(fā)的相互干擾(這種干擾通常都是由于全局變量和靜態(tài)變量導(dǎo)致的)。由于省去了線程安全的檢查,因此使用FastCGI方式比ISAPI方式的效率更高一些。
Thread Safe
線程安全 Non
Thread Safe
非線程安全 (官方不建議用來(lái)進(jìn)行實(shí)際生產(chǎn))2、windows + IIS + ISAPI :使用線程安全版本。理由:
PHP以ISAPI方式安裝時(shí),PHP沒(méi)有獨(dú)立的進(jìn)程,而是作為DLL被IIS加載運(yùn)行的,即是依附于Web服務(wù)器進(jìn)程的。當(dāng)Web服務(wù)器運(yùn)行在多線程模式下(IIS正是這種情況),PHP自然也就運(yùn)行在多線程模式下。只要是在多線程模式下運(yùn)行,就可能存在線程安全問(wèn)題,因此應(yīng)選擇PHP的線程安全版本。
3、windows + Apache + PHP(模塊) :使用線程安全版本。理由:
如果你要在Apache中以模塊方式安裝PHP,則你應(yīng)該使用PHP的線程安全的版本。原因是當(dāng)PHP作為Apache的模塊安裝時(shí),PHP沒(méi)有獨(dú)立的進(jìn)程,而是作為模塊以DLL的形式被加載到Apache中的,是隨Apache的啟動(dòng)而啟動(dòng)的,而Windows下的Apache為多線程工作模式,因此PHP自然也就運(yùn)行在多線程模式下。因此,這種情況下應(yīng)使用PHP的線程安全版本。
4、windows + Apache + PHP(ISAPI) :使用線程安全版本。理由:
由于以ISAPI方式來(lái)安裝PHP時(shí),PHP也沒(méi)有獨(dú)立的進(jìn)程,也是作為模塊被加載到Apache中的,因此,同樣也需要使用PHP的線程安全版本。
一般不建議在Apache中以ISAPI方式來(lái)安裝PHP,原因是到目前為止,Apache通過(guò)mod_isapi.so模塊來(lái)實(shí)現(xiàn)的ISAPI功能并不完整,并未完整實(shí)現(xiàn)微軟對(duì)ISAPI所制定的全部規(guī)范。
5、windows + Apache + PHP(FastCGI) :使用非線程安全版本。理由:
如果你要在Apache中以FastCGI方式使用PHP,則同在IIS中使用FastCGI的PHP的情況一樣,你應(yīng)該使用PHP的非線程安全的版本。原因是在Apache中以FastCGI方式安裝PHP時(shí),PHP擁有獨(dú)立的進(jìn)程,并且FastCGI是單一線程的,故應(yīng)使用PHP的非線程安全版本以提高性能。
而PHPWAMP屬于CGI+模塊的混合運(yùn)行方式(包含了多種),所以在線程安全和非線程安全的選擇上,得看phpinfo的Server API值。大部分用戶都會(huì)在phpwamp站點(diǎn)管理里設(shè)置站點(diǎn),如果是在apache站點(diǎn)管理自定義php版本,建議優(yōu)先選擇“非線程安全”P(pán)HP版本。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。