国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php PHP關(guān)于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本選擇的問(wèn)題

PHP關(guān)于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本選擇的問(wèn)題

Aug 08, 2016 am 09:24 AM
apache fastcgi httpd php

這里是我在搭建php環(huán)境時(shí)收集的資料供大家參考:

現(xiàn)在PHP官網(wǎng)上下載PHP安裝包都有VC11或VC9的字樣,這是什么含義,我們應(yīng)該下載哪種安裝包更好呢?其實(shí)PHP官網(wǎng)給出了答案:

VC6版本是使用Visual Studio 6編譯器編譯的,如果你的PHP是用Apache來(lái)架設(shè)的,那你就選擇VC6版本。(現(xiàn)在PHP已經(jīng)沒(méi)有VC6了)。

VC9意思就是該版本PHP是用VisualStudio2008編譯的,而VC11則是用VisualStudio2012編譯的。這意味著

如果你下載的是VC9版本的,就需要先安VisualC++RedistributableforVisualStudio2008SP1,

如果你下載的是VC11版本的,就需要先安VisualC++RedistributableforVisualStudio2012.

搭建php首先看操作系統(tǒng)的版本,如果是Windows的在這里下:http://windows.php.net/download/

操作系統(tǒng)是32位還是64位?如果是32位的,就選擇帶“x86”的版本,如果是64位的,就選擇帶“x64”的版本。然后看WEB服務(wù)器是什么?如果是IIS系列,就選擇帶“Non Thread Safe”的版本,如果是Apache httpd系列,就選擇帶“Thread Safe”的版本。如果是Apache httpd還要看這個(gè)二進(jìn)制版本是怎么編譯的,有三種編譯類(lèi)型,分別是:VC6、VC9、VC11(分別代表Visual C++ 6、Visual C++ 2008、Visual C++ 2012)。這里就有麻煩了:PHP官方的最新版本5.5已經(jīng)用VC11編譯,5.4是用VC9編譯的??墒茿pache httpd的最新版本呢,至今還是用VC6編譯。這意味著一個(gè)驚人的事實(shí):Apache httpd的官方版本和PHP的官方版本竟然是無(wú)法兼容的!那現(xiàn)有的Windows下的Apache+PHP是怎么搞的呢?可以自己用VC11編譯Apache httpd,但這太折騰了,PHP官方建議下載第三方打包好的Apache httpd版本,推薦了這個(gè)站點(diǎn):http://www.apachelounge.com/download/,需要說(shuō)明一點(diǎn):這個(gè)VC11不支持XP,如果你像我一樣有XP懷舊癥,最高只能升級(jí)到5.4.24,5.5是用VC11編譯的,而VC11不支持XP和2003。

如果是Linux系的在這里下載PHP的源碼:http://cn2.php.net/downloads.php

與上面Windows版不同的是,這里下載到的不能直接用,只是PHP的源碼,要安裝需要自己編譯,要編譯就需要安裝gcc、make等一堆編譯軟件??吹轿臋n里說(shuō)./configure、make、make install,針對(duì)的就是PHP的源碼版本而言。

自己編譯php就更麻煩了,依賴(lài)的庫(kù)一大堆,等著人掉進(jìn)去的坑也有一大堆,我將在另一篇文章里說(shuō)。如果嫌麻煩,可以找已經(jīng)編譯好的版本,具體的說(shuō)就是各個(gè)發(fā)行版的官方的軟件庫(kù)。下面以流行的ubuntu系和centos系為例分別說(shuō)明;

deb包管理式(ubuntu、Debian)

用apt-cache search php命令可以搜出很多結(jié)果,我們需要是“php5”,完整的命令是:apt-get install php5

這顯然不是永遠(yuǎn)適用的,因?yàn)槊钪杏邪姹咎?hào)5,未來(lái)PHP6是什么情況誰(shuí)也不知道。

如果想在shell中安裝一個(gè)命令行的php引擎,就安裝這個(gè)包

apt-getinstall php5-cli

RPM包管理(Fedora、RedHat、SUSE、CentOS)

yuminstall php

如果是php命令行,就安裝yuminstall php-cli

如何選擇Thread Safe和Non ThreadSafe版本?

??? Windows版的PHP從版本5.2.1開(kāi)始有ThreadSafe(線程安全)和None Thread Safe(NTS,非線程安全)之分,這兩者不同在于何處?到底應(yīng)該用哪種?這里做一個(gè)簡(jiǎn)單的介紹。

  從2000年10月20日發(fā)布的第一個(gè)Windows版的PHP3.0.17開(kāi)始的都是線程安全的版本,這是由于與Linux/Unix系統(tǒng)是采用多進(jìn)程的工作方式不同的是Windows系統(tǒng)是采用多線程的工作方式。如果在IIS下以CGI方式運(yùn)行PHP會(huì)非常慢,這是由于CGI模式是建立在多進(jìn)程的基礎(chǔ)之上的,而非多線程。一般我們會(huì)把PHP配置成以ISAPI的方式來(lái)運(yùn)行,ISAPI是多線程的方式,這樣就快多了。但存在一個(gè)問(wèn)題,很多常用的PHP擴(kuò)展是以Linux/Unix的多進(jìn)程思想來(lái)開(kāi)發(fā)的,這些擴(kuò)展在ISAPI的方式運(yùn)行時(shí)就會(huì)出錯(cuò)搞垮IIS。因此在IIS下CGI模式才是 PHP運(yùn)行的最安全方式,但CGI模式對(duì)于每個(gè)HTTP請(qǐng)求都需要重新加載和卸載整個(gè)PHP環(huán)境,其消耗是巨大的。

  為了兼顧IIS下PHP的效率和安全,微軟給出了FastCGI的解決方案。FastCGI可以讓PHP的進(jìn)程重復(fù)利用而不是每一個(gè)新的請(qǐng)求就重開(kāi)一個(gè)進(jìn)程。同時(shí)FastCGI也可以允許幾個(gè)進(jìn)程同時(shí)執(zhí)行。這樣既解決了CGI進(jìn)程模式消耗太大的問(wèn)題,又利用上了CGI進(jìn)程模式不存在線程安全問(wèn)題的優(yōu)勢(shì)。

?????先從字面意思上理解,Thread Safe是線程安全,執(zhí)行時(shí)會(huì)進(jìn)行線程(Thread)安全檢查,以防止有新要求就啟動(dòng)新線程的CGI執(zhí)行方式而耗盡系統(tǒng)資源。Non Thread Safe是非線程安全,在執(zhí)行時(shí)不進(jìn)行線程(Thread)安全檢查。

 因此,如果是使用ISAPI的方式來(lái)運(yùn)行PHP就必須用ThreadSafe(線程安全)的版本;而用FastCGI模式運(yùn)行PHP的話就沒(méi)有必要用線程安全檢查了,用None Thread Safe(NTS,非線程安全)的版本能夠更好的提高效率。

?? 再來(lái)看PHP的兩種執(zhí)行方式:ISAPI和FastCGI。

? ISAPI執(zhí)行方式是以DLL動(dòng)態(tài)庫(kù)的形式使用,可以在被用戶(hù)請(qǐng)求后執(zhí)行,在處理完一個(gè)用戶(hù)請(qǐng)求后不會(huì)馬上消失,所以需要進(jìn)行線程安全檢查,這樣來(lái)提高程序的執(zhí)行效率,所以如果是以ISAPI來(lái)執(zhí)行PHP,建議選擇Thread Safe版本;

??? 而FastCGI執(zhí)行方式是以單一線程來(lái)執(zhí)行操作,所以不需要進(jìn)行線程的安全檢查,除去線程安全檢查的防護(hù)反而可以提高執(zhí)行效率,所以,如果是以FastCGI來(lái)執(zhí)行PHP,建議選擇Non Thread Safe版本。

以上就介紹了PHP關(guān)于VC11,VC9,VC6以及Thread Safe和Non Thread Safe版本選擇的問(wèn)題,包括了方面的內(nèi)容,希望對(duì)PHP教程有興趣的朋友有所幫助。

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Bagaimanakah saya tetap terkini dengan perkembangan php terkini dan amalan terbaik? Jun 23, 2025 am 12:56 AM

Tostaycurrentwithphpdevelopmentsandbestpractices, followeyNewsssourcesLikePhp.netandphpweekly, engageWithCommunitiesonforumsandconference, keeptoolingupdatedandgraduallyAdoptNewFeatures, dan readribcoursourcourceSource

Apakah php, dan mengapa ia digunakan untuk pembangunan web? Apakah php, dan mengapa ia digunakan untuk pembangunan web? Jun 23, 2025 am 12:55 AM

Phpbecamepopularforwebdevelopmentduetoitseaseoflearning, seamlessintegrationwithhtml, widespreadhostingsupport, andalargeecosystemincludingframeworkslikelaravelandcmsplatformsLikeWordPress.itexcelsinhandessubmissions

Bagaimana cara menetapkan zon waktu php? Bagaimana cara menetapkan zon waktu php? Jun 25, 2025 am 01:00 AM

TosetTheRightTimeZoneinPhp, USEDATE_DEFAULT_TIMEZONE_SET () functionAtthestArtAfyourscriptwithavalididentifiersuchas'america/new_york'.1.usedate_default_timeSet ()

Bagaimanakah saya mengesahkan input pengguna dalam PHP untuk memastikan ia memenuhi kriteria tertentu? Bagaimanakah saya mengesahkan input pengguna dalam PHP untuk memastikan ia memenuhi kriteria tertentu? Jun 22, 2025 am 01:00 AM

TOVALIDATEUSERIputInphp, UsEbuilt-InvalidationFunctionsLikeFilter_var () danFilter_Input (), applyRegularExpressionsforcustomformatssuchasususerorphonenumbers, checkdatatypesfornumericressplimeSpriceSprice, setLengthacheAngeAgeorpriceSprice, setLengthacheArpesenprice,

Apakah Serialization Data dalam PHP (Serialize (), Unserialize ())? Apakah Serialization Data dalam PHP (Serialize (), Unserialize ())? Jun 22, 2025 am 01:03 AM

ThPhpFunctionserialize () andUnserialize () diselaraskanToConvertComplexDataStructructDestoresIntoStorasandabackagain.1.Serialize () C overtsdatalikeCarraysorObjectSrayStringContainingTyPeanStructureStructureStructureStructure.2.2Serialize ()

Bagaimana saya membenamkan kod php dalam fail html? Bagaimana saya membenamkan kod php dalam fail html? Jun 22, 2025 am 01:00 AM

Anda boleh membenamkan kod PHP ke dalam fail HTML, tetapi pastikan fail itu mempunyai lanjutan .php supaya pelayan dapat menghuraikannya dengan betul. Gunakan tag standard untuk membungkus kod PHP, masukkan kandungan dinamik di mana sahaja di HTML. Di samping itu, anda boleh menukar PHP dan HTML beberapa kali dalam fail yang sama untuk merealisasikan fungsi dinamik seperti rendering bersyarat. Pastikan anda memberi perhatian kepada konfigurasi pelayan dan ketepatan sintaks untuk mengelakkan masalah yang disebabkan oleh label pendek, kesilapan tanda petikan atau label akhir yang ditinggalkan.

Apakah amalan terbaik untuk menulis kod PHP yang bersih dan boleh dipelihara? Apakah amalan terbaik untuk menulis kod PHP yang bersih dan boleh dipelihara? Jun 24, 2025 am 12:53 AM

Kunci untuk menulis kod PHP yang bersih dan mudah dijaga terletak pada penamaan yang jelas, berikutan piawaian, struktur yang munasabah, menggunakan komen dan kesesuaian yang baik. 1. Gunakan pembolehubah, fungsi dan nama kelas yang jelas, seperti $ userData dan calculateToTalPrice (); 2. Ikuti gaya kod bersatu piawai PSR-12; 3. Pecahkan struktur kod mengikut tanggungjawab, dan aturnya menggunakan katalog MVC atau Laravel; 4. Elakkan kod gaya mi dan memecah logik ke dalam fungsi kecil dengan satu tanggungjawab; 5. Tambah komen pada mata utama dan tulis dokumen antara muka untuk menjelaskan parameter, pulangan nilai dan pengecualian; 6. Meningkatkan kebolehlihatan, mengguna pakai suntikan pergantungan, mengurangkan kaedah keadaan global dan statik. Amalan ini meningkatkan kualiti kod, kecekapan kerjasama dan kemudahan pasca penyelenggaraan.

Bagaimana saya melaksanakan pertanyaan SQL menggunakan php? Bagaimana saya melaksanakan pertanyaan SQL menggunakan php? Jun 24, 2025 am 12:54 AM

Ya, youpanrunsqlqueriesusingphp, danTheProcessinvolveschoosingadatabaseextension, connectingTothedatabase, executingqueriSafely, andclosingconnectionswhendone.todothis, firstChoosebetweBetbeSquLiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpiorpdob

See all articles