簡介/Zend
Zend引擎是一個(gè)開源腳本引擎(一個(gè)虛擬機(jī)),,因作為PHP語言的重要核心而聞名。它原由仍在以色列技術(shù)學(xué)院的學(xué)生Andi Gutmans與Zeev Suraski所開發(fā),。他們之后在以色列的Ramat Gan創(chuàng)立了Zend Technologies,。Zend一名為他們名字Zeev和Andi所組成的新字,。*版的Zend引擎在1999年伴隨著PHP第四版問世。它是高度*化的后臺(tái)模組,。效能,、可靠與延展性是它讓PHP更強(qiáng)更大眾化的主要原因。目前版本為Zend引擎II。Zend引擎依BSD許可證發(fā)布,。
公司簡介/Zend
基本簡介Zend公司推動(dòng)PHP進(jìn)入
企業(yè)級應(yīng)用,。Zend公司針對PHP的應(yīng)用陸續(xù)發(fā)布了至關(guān)重要的PHP網(wǎng)絡(luò)應(yīng)用平臺(tái)產(chǎn)品和服務(wù)。PHP根據(jù)NetCraft的數(shù)據(jù)表明,,PHP已經(jīng)超過ASP成為較流行的Web腳本語言,,Zend Engine安裝在1500萬網(wǎng)站上。全世界范圍內(nèi),,使用Zend有關(guān)Web應(yīng)用產(chǎn)品的客戶超過8000家,。
Zend公司的投資商是包括Azure Capital Partners、Index Ventures和Platinum Venture Capita在內(nèi)的非常有實(shí)力的投資公司,,最重要的是
IT行業(yè)領(lǐng)先的
SAP和
Intel也是Zend公司的投資商,。Zend公司得到了來自IBM,Oracle,,Sun公司的大力支持,,和IBM,Oracle達(dá)成了戰(zhàn)略合作伙伴,,共同推動(dòng)PHP的發(fā)展,。
基本資料Zend Technology,Inc.The PHP Company
國際業(yè)務(wù):Ramat-Gan,以色列
*技術(shù)支持中心:8610 51657885
創(chuàng)始人:Andi Gutmans,、Zeev Suraski,and Doron Gerstel
背景:由PHP架構(gòu)師,、開源Zend Engine 和持續(xù)創(chuàng)新PHP的領(lǐng)導(dǎo)者共同設(shè)立
商業(yè)行業(yè):Web應(yīng)用平臺(tái)提供者
主要產(chǎn)品:企業(yè)級產(chǎn)品和服務(wù),確保企業(yè)關(guān)鍵PHP應(yīng)用的開發(fā),、調(diào)配和管理
主要客戶:包括漢莎航空,、迪斯尼,、波音,、Orange、Electronic Arts在內(nèi)的超過8,000家客戶
主要投資商:Azure Capital Partners,Index Ventures,Intel Capital,Platinum Venture Capital,SAP Ventures and Walden Venture Capital (Israel)
公司服務(wù)/Zend
概述
Zend公司的產(chǎn)品在2004年有了新的變化,,將提供的服務(wù)分為三部分:
⑴PHP products商業(yè)產(chǎn)品,;
⑵Professional Services專業(yè)服務(wù);
⑶PHP Training and Certification培訓(xùn)和認(rèn)證,。
商業(yè)產(chǎn)品包括開發(fā)類,、安全類和應(yīng)用類。另外廣泛應(yīng)用的優(yōu)化器Optimizer屬于免費(fèi)產(chǎn)品,,還有針對不同平臺(tái)的中間產(chǎn)品,,如WinEnabler、Zend Optimizer for IBM AⅨ等,。開發(fā)類產(chǎn)品,,包括Studio的不同版本(標(biāo)準(zhǔn)版,專業(yè)版和企業(yè)版);安全類包括編譯器Encoder和版本的控制工具Safeguard,;應(yīng)用類包含Performance Suit在內(nèi)的監(jiān)控和性能提高應(yīng)用平臺(tái)Zend Platform,。
專業(yè)服務(wù)
Zend公司提供全方位的PHP商業(yè)關(guān)鍵應(yīng)用的開發(fā)和調(diào)配,評估你的需求,,確保應(yīng)用的順利完成,。具體內(nèi)容包括應(yīng)用設(shè)計(jì)和評估、代碼評估,、遷移版本,、擴(kuò)張應(yīng)用等。
培訓(xùn)認(rèn)證
通過系統(tǒng)的培訓(xùn)提高PHP技術(shù),,國際認(rèn)可的Zend PHP 證書有助于提高自身價(jià)值,。具體課程包括PHP A-Zend(A-Zend PHP系統(tǒng)培訓(xùn)課程)、PHP Essentials(PHP基礎(chǔ)培訓(xùn)課程),、Professional PHP Development(專業(yè)PHP開發(fā)課程),、PHP Certification Training(PHP認(rèn)證培訓(xùn)課程)。
Zend在*已經(jīng)建立Zend技術(shù)支持中心,,其在國內(nèi)的具體職責(zé)如下:
⑴提供Zend和PHP的相關(guān)信息,。
⑵對國內(nèi)的PHP用戶提供全方位技術(shù)支持。
⑶Zend公司全線產(chǎn)品的技術(shù)支持和當(dāng)?shù)鼗?br>
⑷提供PHP的培訓(xùn)和教育,。
⑸建設(shè)PHP愛好者和使用者協(xié)會(huì),。
⑹提供專業(yè)的技術(shù)交流平臺(tái)。
集成開發(fā)/Zend
基本概述
Zend Studio是專業(yè)開發(fā)人員在使用PHP整個(gè)開發(fā)周期中*集成開發(fā)環(huán)境(IDE),,它包括了PHP所有必須的開發(fā)部件,。通過一整套編輯、調(diào)試,、分析,、優(yōu)化和數(shù)據(jù)庫工具,Zend Studio加速開發(fā)周期,,并簡化復(fù)雜的應(yīng)用方案,。
Zend Studio的特點(diǎn)包括:
⑴快速代碼開發(fā)與配置本地和遠(yuǎn)程調(diào)試器;
⑵數(shù)據(jù)庫連通性&SQL工具團(tuán)隊(duì)合作環(huán)境,;
⑶完全PHP4/PHP5切換PHPDocs/PHP文檔處理程序支持,;
⑷SFTP、FTP以至SSH的安全連接100個(gè)以上代碼摘錄,;
⑸50個(gè)以上樣品數(shù)據(jù)庫應(yīng)用程序與Zend Platform?組合,。
編輯文件
這個(gè)部分講述如何在Zend Studio中編輯一個(gè)文件。
如果想要編輯一個(gè)文件,,你所需要做的就是打開Zend Studio客戶端并開始編寫代碼,。而且,Studio客戶端還可以輕松實(shí)現(xiàn)許多高級的編輯功能。下面的例子使用了Zend Studio客戶端的代碼補(bǔ)全特性——Studio客戶端的一個(gè)節(jié)省時(shí)間的編輯特性,。其他主要的編輯特性還包括書簽,、實(shí)時(shí)錯(cuò)誤提示、括號提示,、模板等,。
總體來說,代碼補(bǔ)全自動(dòng)顯示出已輸入代碼在PHP或者HTML中相關(guān)的補(bǔ)全選項(xiàng),。
這里有一個(gè)例子:
⑴在主工具欄中單擊打開新文件,。一個(gè)新的空白文檔就在編輯窗口中打開了。
⑵在編輯窗口中,,輸入“<”字符,。代碼補(bǔ)全窗口出現(xiàn)了,并且顯示一個(gè)HTML標(biāo)記的列表,。
⑶從列表中選擇html并且按回車鍵,。HTML標(biāo)簽就出現(xiàn)在編輯窗口中了。
⑷輸入“<php”,,并且按回車鍵,。
⑸按Ctrl+space鍵然后輸入“pri”。PHP代碼補(bǔ)全出現(xiàn)了下一個(gè)匹配pri的列表,。
⑹從代碼補(bǔ)全窗口選擇print_r函數(shù)并按回車鍵,。print_r出現(xiàn)在編輯行中,并且代碼補(bǔ)全窗口重新顯示為函數(shù)的語法提示,。
⑺輸入“hello”并且按回車鍵,。
使用功能
這個(gè)部分簡述創(chuàng)建一個(gè)項(xiàng)目的過程。
1.使用項(xiàng)目功能的好處在用戶打開一個(gè)項(xiàng)目時(shí),,Zend Studio客戶端自動(dòng)處理所有項(xiàng)目相關(guān)的文件并且增加類和函數(shù)名到代碼補(bǔ)全列表,。另外,還可以查找包含的丟失文件,。
2.如何創(chuàng)建一個(gè)項(xiàng)目如果想定義一個(gè)帶有獨(dú)立特性的工作環(huán)境,,可以創(chuàng)建一個(gè)新的項(xiàng)目,。這些特性如調(diào)試配置,、書簽和監(jiān)視點(diǎn)等。
注意:項(xiàng)目定義文件的文件擴(kuò)展名標(biāo)志為*.zpj,。
創(chuàng)建一個(gè)項(xiàng)目的操作如下:
⑴從主菜單中,,選擇項(xiàng)目→新項(xiàng)目。出現(xiàn)新項(xiàng)目對話框,。
⑵輸入新項(xiàng)目的名字,。更新相對應(yīng)的路徑。在這一步,你可以跳過所有接下來的對話框并單擊完成,。單擊繼續(xù)可以定義新項(xiàng)目專有的屬性,。
⑶為了增加文件或者路徑到新項(xiàng)目中,單擊項(xiàng)目專區(qū)的“增加路徑”并瀏覽將要包含到項(xiàng)目中的文件或者路徑,。
⑷單擊“繼續(xù)”按鈕繼續(xù)編輯,,或者單擊“完成”按鈕跳出。
⑸接下來的窗口顯示的是在用戶化的調(diào)試選項(xiàng)窗口中定義的默認(rèn)設(shè)置,。如果你想在新的項(xiàng)目中應(yīng)用專有的調(diào)試設(shè)置,,取消用戶系統(tǒng)默認(rèn)的選項(xiàng)框的勾選并修改設(shè)置。
⑹選擇調(diào)試模式,。對于一個(gè)遠(yuǎn)程調(diào)試來說,,你可以更改服務(wù)器URL和端口,而且還可以指定臨時(shí)輸出文件的存放目錄,。
注意:這些設(shè)置可以在項(xiàng)目屬性對話框中找到,。在任何時(shí)候想看一個(gè)項(xiàng)目的調(diào)試設(shè)置時(shí),打開項(xiàng)目并進(jìn)入項(xiàng)目→項(xiàng)目屬性,。
⑺單擊“完成”按鈕即可,。
代碼補(bǔ)全
代碼補(bǔ)全的兩種代碼類型:
PHP和
HTML。代碼補(bǔ)全范圍包括:類,、函數(shù),、變量、常量,、關(guān)鍵字,、HTML標(biāo)記、HTML屬性,、HTML屬性的值,,等等。
PHP代碼的補(bǔ)全還包括:嵌套函數(shù)的代碼補(bǔ)全,、補(bǔ)全
函數(shù)的值(使用PHPDoc支持來實(shí)現(xiàn))
代碼補(bǔ)全提示:
⑴增加@var標(biāo)記來提示類定義,;
⑵通過一個(gè)注釋,可以把一個(gè)變量賦值為一個(gè)實(shí)際的類,。
模版的作用是通過縮寫插入代碼框架或者代碼段,。模版功能支持的代碼類型是PHP、PHPDoc,、HTML,、JavaScript or CSS。通過模板功能,,可以方便地在團(tuán)隊(duì)中共享代碼,。
1.代碼片段代碼片段是指可以重復(fù)使用的一些代碼片段,。通過使用這些代碼片段,我們可以推動(dòng)開發(fā)流程的速度,。我們可以查看和使用已經(jīng)保存的代碼片段,,可以創(chuàng)建和更新自己的代碼片段,并從Zend的在線數(shù)據(jù)庫中更新代碼片段,。
2.代碼導(dǎo)航——書簽在編輯的文件里面使用書簽來標(biāo)記
代碼,,這個(gè)功能可以讓你很快地在許多腳本文件中找到代碼進(jìn)行編輯。
3.代碼導(dǎo)航——轉(zhuǎn)到源 轉(zhuǎn)到源具有過濾和自動(dòng)更新,、快速,、方便和直觀、提高切換效率,,
“Go to Resource”對話框
調(diào)試簡介
ZDE的調(diào)試方式分為內(nèi)部調(diào)試和
服務(wù)器調(diào)試,。內(nèi)部調(diào)試是指使用ZDE自帶的本地PHP4或者PHP5來進(jìn)行調(diào)試。服務(wù)器調(diào)試使用的是
遠(yuǎn)程的服務(wù)器來運(yùn)行位于服務(wù)器上面的PHP腳本,。內(nèi)部調(diào)試是開發(fā)
工程師在編寫代碼的時(shí)候,,在上傳之前的調(diào)試。服務(wù)器調(diào)試主要是以調(diào)試項(xiàng)目為主,。
1.內(nèi)部調(diào)試內(nèi)部調(diào)試使用的是ZDE自帶的PHP版本,。在*ZendStudio5.1.0里面分別為PHP 4.4.1和PHP5.1.1。
調(diào)試的時(shí)候用到的一系列工具如下,。
⑴調(diào)試信息窗口:顯示調(diào)試過程和語法
監(jiān)測等信息,。
⑵
變量、觀察窗口:查看相關(guān)變量,、函數(shù),、類和表達(dá)式的信息。
⑶堆棧窗口:監(jiān)控堆棧的調(diào)用和
參數(shù)的傳遞,。
⑷調(diào)試正在調(diào)用的或者是已經(jīng)調(diào)用的函數(shù):使用引入 ,、引出 、斷點(diǎn)等進(jìn)行調(diào)試,。
⑸控制調(diào)試的節(jié)奏:使用完全 或者逐行調(diào)試 ,,并且用斷點(diǎn)和執(zhí)行到光標(biāo)處 進(jìn)行配合。
⑹查看實(shí)時(shí)的輸出結(jié)果:查看Text或者瀏覽器輸出兩種調(diào)試結(jié)果,。
⑺查看緩沖區(qū):如果代碼里面有緩沖區(qū)應(yīng)用,,可以直接查看緩沖區(qū)的代碼。
2.服務(wù)器調(diào)試
服務(wù)器調(diào)試
服務(wù)器調(diào)試(遠(yuǎn)程)可以讓開發(fā)人員調(diào)試上傳的PHP代碼,,從而進(jìn)行項(xiàng)目級的調(diào)試,。也就是說遠(yuǎn)程服務(wù)器上面的ZDE Server將為你實(shí)現(xiàn)調(diào)試的各種功能(如果服務(wù)器已經(jīng)有ZP,不用再另行安裝ZDEServer),。
此外服務(wù)器調(diào)試的時(shí)候,,也可以使用本地副本(Tools | Debug | Debug URL 里面選擇可以使用本地副本就可以了)。這種情況下,,ZDE Server在調(diào)試被調(diào)用的PHP文件的時(shí)候,,查找的順序?qū)⑹牵篫DE打開的文件→ZDE打開的項(xiàng)目的文件→服務(wù)器上的文件。
使用服務(wù)器進(jìn)行調(diào)試也叫Debug URL,,但是這與傳統(tǒng)的IE調(diào)試有著很大的不同,。它具備了以下幾個(gè)特點(diǎn):
⑴用ZDE內(nèi)嵌的瀏覽器訪問PHP代碼,方便與ZDE Server的互通,。
⑵調(diào)試交互數(shù)據(jù)的表單,、腳本,如POST等,。
⑶調(diào)試返回的信息可以分別體現(xiàn)在內(nèi)嵌的瀏覽器和調(diào)試輸出窗口,。
⑷自動(dòng)加載調(diào)用的PHP腳本,并且在該腳本的*行處停止,,等待下一步指示,。
⑸調(diào)試的過程中同樣可以查看參數(shù)、堆棧,、監(jiān)視點(diǎn)(用戶指定的特定參數(shù))等,。
斷點(diǎn)跟蹤
可以在代碼的任意行設(shè)置斷點(diǎn)。設(shè)置斷點(diǎn)的目的是,,讓PHP腳本運(yùn)行到該斷點(diǎn)的時(shí)候自動(dòng)停止運(yùn)行,,以便查看變量、緩沖等數(shù)據(jù),�,?梢酝ㄟ^鼠標(biāo)右鍵、F9快捷鍵來設(shè)置斷點(diǎn),。
輸出緩沖
PHP的運(yùn)行的堆�,;旧鲜侵该恳粋(gè)PHP腳本,堆棧在調(diào)試的時(shí)候顯示出的具體的信息需要配合斷點(diǎn)調(diào)試或者逐行調(diào)試才能看到,。信息顯示的是運(yùn)行的PHP文件,、停止的行數(shù)、運(yùn)行的函數(shù)等信息,。
注意:如果在一個(gè)PHP文件中有引入別的PHP文件,,那么堆棧的個(gè)數(shù)將等于該P(yáng)HP文件本身加上所有引入的別的PHP文件的個(gè)數(shù)。
跳入跳出
跳入與跳出主要是針對堆棧來說,,在斷點(diǎn)或者逐行的調(diào)試中,,我們可以靈活地跳入或者跳出某個(gè)堆棧來看某個(gè)堆棧的變量和運(yùn)行情況。
版本控制
Studio集成了CVS和Subversion等版本管理工具的客戶端,,可以方便地進(jìn)行團(tuán)隊(duì)開發(fā),。
優(yōu)化器/Zend
簡介
Zend
優(yōu)化器——優(yōu)化你的PHP代碼,。
由于舊的版本和PHP4.3.10
兼容性有問題,強(qiáng)烈推薦對Zend Performance Suite,,Zend Accelerator,,Zend Studio Server和Zend WinEnabler使用者,更新至*版本同樣推薦將PHP升級到PHP4.4.6orPHP5.2.1,。運(yùn)行編譯過的代碼文件和提高腳本程序的性能——免費(fèi),。
優(yōu)化器在提高PHP的運(yùn)行速度的同時(shí),可以完全免費(fèi)的運(yùn)行被Zend Encoder and Zend SafeGuard Suite編譯過的代碼,。
利益
確保使用者安全運(yùn)行被Zend Encoder編譯過的文件,,提高運(yùn)行性能40%。
對于企業(yè)級的性能提高,,如果希望服務(wù)器的吞吐量提高25倍,,請?jiān)囉肸end Performance Suite。Zend Performance Suite的性能提高科技是特別幫助PHP基礎(chǔ)的大流量的網(wǎng)絡(luò),,用于提高反應(yīng)速度和程序處理的效率,。對于PHPversions低于4.0.4,請使用Zend Optimizer1.2.0.,,下載前一個(gè)版本,。
安裝
需要指定系統(tǒng)Web服務(wù)器的所在目錄和php.ini配置文件的目錄。
系統(tǒng)需求/Zend
基本要求
支持的
操作系統(tǒng),、平臺(tái)和操作系統(tǒng)版本:
—Linux x86
—Linux x86-64
—Linux Power
—Solaris Sparc 8,9,10
—Solaris x86 9,10
—FreeBSD x86 5.x,6.x
—Windows x86 2000,XP,2003
—OS X Mac Power
—AⅨ pSeries 5
服務(wù)器
支持的Web
服務(wù)器:
—Apache 1.3.x
—Apache 2.0.x (Prefork mode only)
—Apache 2.2.x (Prefork mode only)
—ⅡS 5,6
版本
支持的PHP版本:
—4.2.x up to 4.4.x
—5.0.x,5.1.x,5.2.x
OS X Mac下使用的PHP版本:
—4.3.x up through 5.2.x
管理平臺(tái)/Zend
概述
Zend Platform是*一個(gè)可以讓應(yīng)用持續(xù)穩(wěn)定運(yùn)行的PHP生產(chǎn)環(huán)境,。
在為IT個(gè)人和企業(yè)提供企業(yè)級的高穩(wěn)定性的應(yīng)用的前提下,Zend Platform可以提供高性能和擴(kuò)展性等特點(diǎn),,并讓用戶在你的Web上以*響應(yīng)速度愉快地瀏覽,。
Zend Platform也是*地能夠保證穩(wěn)定服務(wù)的平臺(tái)。它通過PHP
監(jiān)控和即時(shí)的錯(cuò)誤處理系統(tǒng),,來代替?zhèn)鹘y(tǒng)的錯(cuò)誤定位方式,,讓開發(fā)和維護(hù)工作輕松而愉快。
1.Zend Platform對于企業(yè)的
價(jià)值體現(xiàn)在讓你的應(yīng)用實(shí)現(xiàn)穩(wěn)定,、高
擴(kuò)展性,、快速響應(yīng)的時(shí)候了。Zend Platform讓W(xué)eb和數(shù)據(jù)庫服務(wù)器根據(jù)負(fù)載和應(yīng)用復(fù)雜程度的提高持續(xù)穩(wěn)定運(yùn)行,。請加入我們眾多的客戶當(dāng)中,,他們來自于眾多的企業(yè),并從Zend Platform上獲得空前的利益,。
⑴高擴(kuò)展性:在降低生產(chǎn)成本的同時(shí),,響應(yīng)更多的用戶請求。
⑵強(qiáng)有力的優(yōu)勢:確保PHP應(yīng)用得到*性能,。
⑶更高的效率:無縫的運(yùn)行和配置管理,。
⑷令用戶滿意的瀏覽:提高用戶的瀏覽效果,,令用戶滿意并持續(xù)對網(wǎng)站的瀏覽。
2.強(qiáng)大的管理和錯(cuò)誤處理方案Zend Platform能*地找出瓶頸問題和運(yùn)行時(shí)的錯(cuò)誤,,及時(shí)發(fā)現(xiàn)腳本或者函數(shù)執(zhí)行緩慢,,發(fā)現(xiàn)空白或者不完整的頁面,,同時(shí)還能隨時(shí)注意系統(tǒng)的負(fù)載和所有類型的PHP和數(shù)據(jù)庫的錯(cuò)誤,。所有這些都可以用鼠標(biāo)輕松地進(jìn)行配置。另外,,Zend Platform的新的Session Clustering的模塊將極大地提高你的PHP應(yīng)用的擴(kuò)展性,。
3.Zend Platform具備的特點(diǎn)⑴中心控制臺(tái):顯示PHP運(yùn)行環(huán)境的各個(gè)方面。
⑵綜合的應(yīng)用:杰出的運(yùn)行概要分析和性能監(jiān)控,。
⑶跟蹤調(diào)試:
—重現(xiàn)錯(cuò)誤并保存完整的錯(cuò)誤文檔,。
—具體的警報(bào)信息自動(dòng)發(fā)送至相關(guān)的IT人員。
—在線調(diào)試,;實(shí)時(shí)的錯(cuò)誤
修正,。通過Zend
Studio集成環(huán)境實(shí)現(xiàn)。
⑷性能提高:
—運(yùn)行中實(shí)時(shí)的代碼優(yōu)化,。
—代碼加速和預(yù)編譯,。
—完善的緩存解決方案。
—文件下載優(yōu)化和加速,。
—對PHP4和PHP5完善的支持,。
⑸獨(dú)特的功能:
—PHP Session Clustering
—PHP Intelligence
—PHP Performance Management
—PHP Configuration Control
—PHP/Java Integration Bridge
⑹Session 跨服務(wù)器:
—
性能提高(up to x10)。
—加鎖機(jī)制保證數(shù)據(jù)的完整性,。
—與原來的PHP腳本無縫連接,。
—獨(dú)立于負(fù)載均衡服務(wù)器。
—
線性地升級性,、方便地添加服務(wù)器,。
⑺即裝即用的解決方案:
—安裝&;配置方便,、簡單,。
—在Web服務(wù)器上面以PHP的模塊安裝。
—較低的生產(chǎn)環(huán)境配置要求,。
—無須重新編譯PHP和Apache,。
—無須更改現(xiàn)有代碼。
使用說明
1.安裝注意事項(xiàng)對ZendPlatform的安裝文件解壓后,,運(yùn)行./install就可以打開安裝界面,。根據(jù)安裝界面的提示進(jìn)行操作就可以了。在此過程中請注意以下事項(xiàng):
⑴請確認(rèn)服務(wù)器的內(nèi)存在正常運(yùn)轉(zhuǎn)的情況下,,有足夠的剩余空間(比如100M),。
⑵服務(wù)器使用的php.ini的具體路徑,。以phpinfo()的輸出為準(zhǔn)。
⑶Apache的執(zhí)行路徑,,便于ZendPlatform重啟Apache,。
⑷選擇中央控制還是節(jié)點(diǎn)的ZendPlatform模式。如果選擇節(jié)點(diǎn),,需要把節(jié)點(diǎn)注冊到中央控制中心,。
錯(cuò)誤處理機(jī)制。如果安裝過程中出現(xiàn)錯(cuò)誤,,請運(yùn)行<,;安裝目錄>/Zend/bin/support_,。選擇第三項(xiàng)“Collect information and send it by E-mail”,,在“Recipient's E-mail”填入技術(shù)支持工程師的E-mail地址,。系統(tǒng)將會(huì)自動(dòng)收集相關(guān)信息并發(fā)送給技術(shù)支持工程師以便分析原因。
2.關(guān)鍵配置說明安裝了ZendPlatform以后,,為了讓ZendPlatform穩(wěn)定地發(fā)揮其性能,。需要對以下幾個(gè)關(guān)鍵設(shè)置做配置,關(guān)鍵設(shè)置集中在ZendPlatform的性能管理上,。進(jìn)入Performaceàsettings:
—Code Acceleration:
Accelerator Memory:設(shè)置在32與64之間,,如果服務(wù)器需要可以適當(dāng)調(diào)大。但是總體來說不需過大,。
—Dynamic Content Caching:
Maximum Cache Size:一般情況下設(shè)置1G或500M就已經(jīng)足夠,,但是請不要保留默認(rèn)的“Unlimited”設(shè)置。
Minimum Free Diskspace:表示最小空閑空間容量,,所以請確定其值是否小于所用硬盤空閑空間的大小,。
3.重要功能位置說明如果您是*次使用ZendPlatform,那么以下幾個(gè)功能將會(huì)是需要的,。
實(shí)現(xiàn)功能
1.背景
因特網(wǎng)或者萬維網(wǎng)的核心是HTTP協(xié)議(
超文本傳輸協(xié)議),。同時(shí),因?yàn)?span>HTTP協(xié)議的*性,,網(wǎng)站應(yīng)用無法將瀏覽器訪問與不同的服務(wù)器連接起來,。從本質(zhì)上說,這意味著用戶從一個(gè)業(yè)務(wù)進(jìn)入到另一個(gè)業(yè)務(wù)時(shí),,新的服務(wù)器有可能無法得到該用戶的信息,。
為了解決這個(gè)問題,一個(gè)新的概念“Cookies”被引入了,。所謂的“Cookies”指的是一個(gè)小型數(shù)據(jù)結(jié)構(gòu),,這個(gè)存放在用戶本地的數(shù)據(jù)是被用來儲(chǔ)存用戶的信息。當(dāng)該用戶訪問一個(gè)網(wǎng)站的時(shí)候,網(wǎng)站的服務(wù)器從用戶本地得到用戶數(shù)據(jù)后經(jīng)過處理再把結(jié)果返回給用戶,。所以,,給用戶的感覺是網(wǎng)站似乎記住了該用戶的信 息。同時(shí),,用戶可以方便地在登錄該網(wǎng)站時(shí)使用原先的設(shè)置,,甚至不需要輸入密碼進(jìn)行登錄�,!癈ookies”使用最多的領(lǐng)域是記錄用戶的相關(guān)配置信息或者是在一個(gè)在線商店所采購的采購記錄,。
然而,“Cookies”數(shù)據(jù)保存在用戶本地的特點(diǎn)容易造成兩個(gè)方面的負(fù)面效果,。*是過長的“Cookies”數(shù)據(jù)的保存與傳輸都將是一個(gè)不小的資源消耗,。第二是對于一些重要的數(shù)據(jù),,保存在用戶本地容易造成數(shù)據(jù)錯(cuò)誤,,從而給用戶的訪問帶來負(fù)面影響。為此,,基于“Cookies”的HTTP Session概念產(chǎn)生了,。代替?zhèn)鹘y(tǒng)的把所有的信息存儲(chǔ)在用戶本地的做法,Session 架構(gòu)把用戶的信息儲(chǔ)存在服務(wù)器端,,而在用戶端只保存了區(qū)分布不同用戶信息的*“Session ID”,。
PHP是通過
內(nèi)嵌的擴(kuò)展來實(shí)現(xiàn)Session應(yīng)用的,并且該擴(kuò)展是基于地層的架構(gòu),。PHP對Session的支持允許網(wǎng)站實(shí)現(xiàn)大量的注冊和訪問量,。
可是,當(dāng)要在一個(gè)服務(wù)器集群實(shí)現(xiàn)PHP Session的應(yīng)用時(shí),,問題變得復(fù)雜起來,。
經(jīng)典的多服務(wù)器集群包含了一組服務(wù)器,在每臺(tái)服務(wù)器上面加載相同的PHP應(yīng)用,。同時(shí),,服務(wù)器集群的出口由一個(gè)下載均衡服務(wù)器來實(shí)現(xiàn),下載均衡管理器在服務(wù)器之間分配流量保證各個(gè)服務(wù)器的負(fù)載是均衡的,。這種應(yīng)用使得網(wǎng)站應(yīng)用突破了單臺(tái)服務(wù)器的傳統(tǒng)模式,,而由服務(wù)器集群來承載同一個(gè)PHP應(yīng)用。很明顯,,這種集群服務(wù)器的應(yīng)用提高了PHP業(yè)務(wù)的性能并減低了終端用戶的訪問時(shí)間,。
由于HTTP協(xié)議的不確定性,同一個(gè)用戶的不同HTTP請求很有可能被發(fā)送到不同的服務(wù)器,。所以,,將會(huì)造成用戶的Session id無法及時(shí)獲取正確的用戶信息的問題,并最終導(dǎo)致用戶使用上的不方便。
2.Session
集群化管理
Zend之前的一些解決Session不能跨服務(wù)器的方案如下,。
⑴負(fù)載均衡Session方案,。
通過負(fù)載均衡服務(wù)器把特定的HTTP請求指定到相同的服務(wù)器。存在著一些不足:
—SessionID與服務(wù)器的對應(yīng)很難成功地保持,。在沒有HTTP協(xié)議校驗(yàn)的前提下,,HTTP協(xié)議很容易丟失目標(biāo)。而且,,因?yàn)樨?fù)載均衡的性能問題使用HTTP協(xié)議進(jìn)行校驗(yàn)是不穩(wěn)定的,。
—如果在負(fù)載均衡服務(wù)器上面啟用Session定向,將不利于負(fù)載均衡服務(wù)器本身的運(yùn)行特性,。尤其是在使用了流行的NAT技術(shù)后,,影響更加明顯。
—為了達(dá)到SessionID與服務(wù)器的對應(yīng)目的,,負(fù)載均衡將需要花費(fèi)相當(dāng)昂貴的系統(tǒng)消耗來實(shí)現(xiàn),。
—當(dāng)負(fù)載均衡服務(wù)器為了實(shí)現(xiàn)Session功能的時(shí)候,它的負(fù)載將會(huì)急速上升,,并逐漸地成為服務(wù)器集群升級的瓶頸,。在集群服務(wù)器上添加服務(wù)器將會(huì)因?yàn)樨?fù)載均衡的瓶頸問題而變得困難。
⑵通過NFS系統(tǒng)來共享Session的方案,。
因?yàn)樨?fù)載均衡實(shí)現(xiàn)Session共享的局限性,,有人開始嘗試用NFS來共享。通過集群中的NFS文件服務(wù)器來實(shí)現(xiàn),,從而來實(shí)現(xiàn)集群里的服務(wù)器的 Session應(yīng)用,。甚至有人覺得通過負(fù)載均衡服務(wù)器來實(shí)現(xiàn)Session共享會(huì)變得沒有必要,而且可以使得網(wǎng)絡(luò)的硬件投入得到減少,,DNS輪詢都能夠滿足Session的應(yīng)用,。但是這種方法同樣存在著一些局限性:
—數(shù)據(jù)
完整性:NFS的文件加鎖機(jī)制在許多場合下是不合適的。這種情況有可能導(dǎo)致Session的數(shù)據(jù)很容易出錯(cuò),。
—速度緩慢:從NFS文件系統(tǒng)提取Session數(shù)據(jù)遠(yuǎn)遠(yuǎn)比本地提取耗時(shí),,同時(shí)網(wǎng)絡(luò)的架構(gòu)也將影響數(shù)據(jù)的傳輸速度。
—將所有的數(shù)據(jù)都存儲(chǔ)在一個(gè)服務(wù)器上意味著這是一個(gè)系統(tǒng)故障點(diǎn):如果NFS服務(wù)器出現(xiàn)了故障,,整個(gè)PHP應(yīng)用系統(tǒng)將無法工作,。為此就必須為NFS服務(wù)器配置更多的設(shè)備和更完善的電源管理。但是,,這也是一個(gè)很大的資金投入,,同時(shí),他還是沒有從根本上解決單一故障點(diǎn)的問題,。因?yàn)镹FS的網(wǎng)絡(luò)接口還是一個(gè),。
—系統(tǒng)升級:把系統(tǒng)所有的數(shù)據(jù)都存放在一個(gè)中心節(jié)點(diǎn),,伴隨著的一個(gè)問題是系統(tǒng)的升級變得困難,而中心點(diǎn)就是系統(tǒng)升級的一個(gè)瓶頸,。所以,,往集群里面增加服務(wù)器所帶來的效益將因?yàn)檫@個(gè)瓶頸問題而被降低。
—安全性:NFS一直以來都被認(rèn)為是一個(gè)安全性比較差的協(xié)議,。許多專業(yè)的IT公司也因此放棄了NFS網(wǎng)絡(luò)文件系統(tǒng),。
—持續(xù)的
硬件投入。
⑶采用
數(shù)據(jù)庫來存放Session信息
第三種解決Session不能跨服務(wù)器的方法是把共享的Session放在一臺(tái)相應(yīng)的數(shù)據(jù)庫服務(wù)器中,。這種方法也有效地解決了NFS文件系統(tǒng)方案帶來的數(shù)據(jù)完整性和有效性等問題,。但是這個(gè)方案同樣地存在著某些不足:
—速度:相對本地存儲(chǔ)來說,數(shù)據(jù)庫服務(wù)器將需要在數(shù)據(jù)庫處理上面占用整個(gè)PHP應(yīng)用平臺(tái)的時(shí)間,。
—故障點(diǎn):數(shù)據(jù)庫服務(wù)器還是存在著單一故障點(diǎn)的問題,。
—系統(tǒng)升級:使用數(shù)據(jù)庫來存儲(chǔ)Session這個(gè)方案同樣存在著升級困難的問題。而這個(gè)問題在考慮數(shù)據(jù)庫服務(wù)器的處理能力和負(fù)載的時(shí)候會(huì)顯得尤為突出,。
至今,,通用的解決方案并不能滿足PHP集群化應(yīng)用發(fā)展的需求�,?傮w來說,,有以下幾個(gè)方案的困難需要解決。
⑴系統(tǒng)升級的瓶頸問題:已有的解決方案總是把問題集中在一個(gè)單一的中心節(jié)點(diǎn)上面,。為此,限制了其方案的處理能力,,為集群應(yīng)用的發(fā)展造成了困難,。
⑵性能:已有的解決方案往往需要過度犧牲中心節(jié)點(diǎn)的系統(tǒng)資源,所以中心節(jié)點(diǎn)的硬件投入比較大,。
⑶故障點(diǎn):已有的解決方案都需要一個(gè)中心節(jié)點(diǎn),,為此整個(gè)系統(tǒng)存在著單一故障點(diǎn)的問題。這也意味著系統(tǒng)在運(yùn)行過程中存在著較大的風(fēng)險(xiǎn),。
3.Zend的解決方案
Zend公司是應(yīng)許多客戶要求的情況下,,開始Session clustering 模塊的開發(fā)的。許多客戶一直被實(shí)現(xiàn)Session共享而帶來的系統(tǒng)消耗等問題而困擾,。作為PHP發(fā)展的主要推動(dòng)者,,Zend公司強(qiáng)烈意識到這個(gè)問題的嚴(yán)重性�,?蛻舴从车膯栴}主要是集中在Session共享的安全性和多余資源投入,。在Zend的Session共享的解決方案出現(xiàn)之前,客戶往往要搭建復(fù)雜和昂貴的框架添加數(shù)據(jù)庫服務(wù)器等硬件來實(shí)現(xiàn)Session共享,。但是這樣的框架還經(jīng)常無法提供穩(wěn)定,、可靠的Session跨服務(wù)器的解決方案。而且,這種復(fù)雜的框架還經(jīng)常給商業(yè)應(yīng)用的穩(wěn)定性帶來錯(cuò)誤和潛在的危險(xiǎn),。
Zend新的Session clustering的模塊(Zend Platform的部件之一)就是為提供一個(gè)綜合的Session跨服務(wù)器的解決方而開發(fā)的,。并在這個(gè)方案中,有效地解決了上述幾個(gè)解決方案存在的問題,。更為重要的,,沒有為現(xiàn)有客戶增加成本。
在Zend Session clustering的解決方案中,,Sessions“居住”在它*次被生成的服務(wù)器上,。同時(shí),這些Session可以別同一個(gè)集群服務(wù)器所共享,。這意味著Zend的解決方案從根本上解決了Session不能跨服務(wù)器的問題,,并提供了較高的性能。同時(shí),,它的系統(tǒng)升級特性也可以讓客戶能有效地使用現(xiàn)有的系統(tǒng)資源,,并簡便、迅速地升級,。
Session集群管理的幾大部件:
⑴Session的存儲(chǔ):可以選擇存儲(chǔ)在內(nèi)存或者是存儲(chǔ)在硬盤并在內(nèi)存進(jìn)行緩存,。
⑵SCD守護(hù)進(jìn)程:Session clustering 守護(hù)進(jìn)程,把Session信息從Session被存儲(chǔ)的地方提取出來提交給PHP engine,,或是從集群里別的服務(wù)器上提取并提交給PHP engine,。
⑶mod_cluster PHP擴(kuò)展:是一個(gè)PHP的Session處理負(fù)責(zé)與SCD守護(hù)進(jìn)程的通信。
SC架構(gòu)
Zend的Session clustering模塊使用了強(qiáng)大的加鎖和數(shù)據(jù)完整性機(jī)制來實(shí)現(xiàn)Session數(shù)據(jù)的安全性,。在使用Session clustering時(shí),,可以隨時(shí)地切換兩種不同的Session存儲(chǔ)模式:硬盤或只在內(nèi)存,。這種存儲(chǔ)方式也提供了錯(cuò)誤恢復(fù)的功能,,因?yàn)槿绻l(fā)生了不可預(yù)測的故障時(shí),能夠及時(shí)恢復(fù)Session數(shù)據(jù),。
Zend的Session clustering 模塊對現(xiàn)有的PHP的兼容性很強(qiáng),,同時(shí)不影響其他擴(kuò)展的正常使用,也不需要修改任何代碼,。Zend Platform的Session clustering的解決方案就是集成了一個(gè)PHP的擴(kuò)展,。同時(shí),在PHP.ini里面也可以選擇是用現(xiàn)有的解決方案還是Session clustering模式,。
Zend的Session clustering模塊從技術(shù)上來說,,比現(xiàn)有的幾個(gè)解決方案都更加成熟,也是現(xiàn)今*能迅速實(shí)現(xiàn)系統(tǒng)升級的解決方案,。Session clustering用較低的成本來實(shí)現(xiàn)PHP的集群應(yīng)用,,并可以給客戶帶來無法比擬的性能,、穩(wěn)定性和數(shù)據(jù)完整性。
Zend的Session clustering的解決方案也是截至目前*一個(gè)能夠集成到PHP的解決方案,。因?yàn)閷?shí)現(xiàn)Session clustering的設(shè)計(jì)與代碼編寫都是在PHP的架構(gòu)下實(shí)現(xiàn)的,。
下面列出的是Session clustering與其他方案的比較:
⑴線性系統(tǒng)升級:在系統(tǒng)架構(gòu)中不再存在瓶頸問題。新加入的服務(wù)器能有效地發(fā)揮出應(yīng)有的性能效益,。同時(shí),,Session clustering 也不會(huì)給現(xiàn)有的網(wǎng)絡(luò)架構(gòu)和設(shè)備增加額外的負(fù)擔(dān)。
⑵速度優(yōu)勢:經(jīng)過壓力測試,,Session clustering 模塊是現(xiàn)有的Session跨服務(wù)器解決方案的4~6倍的速度,。
⑶無故障點(diǎn):如果因?yàn)椴豢深A(yù)測的原因,有一臺(tái)服務(wù)器停止服務(wù)了,,損失的也只是那一臺(tái)服務(wù)器的Session數(shù)據(jù),,而不是整個(gè)系統(tǒng)。損失的數(shù)據(jù)可以迅速在其他的服務(wù)器上重新建立,。
⑷安全性:Session clustering’s內(nèi)在的數(shù)據(jù)完整性和加鎖機(jī)制可以實(shí)現(xiàn)強(qiáng)大的Session應(yīng)用,。并允許高用戶負(fù)載下的商業(yè)應(yīng)用。
⑸錯(cuò)誤矯正:Session clustering可以選擇把Session數(shù)據(jù)存儲(chǔ)在硬盤當(dāng)中,。從而可以從系統(tǒng)或者內(nèi)存的出錯(cuò)中恢復(fù)過來,。
⑹Session clustering試你的資金投入均勻分布在服務(wù)器機(jī)群中:Session clustering可以與任何的負(fù)載均衡技術(shù)環(huán)境運(yùn)行(包括DNS輪詢)。
⑺強(qiáng)大的兼容性:Zend的Session clustering解決方案提供了強(qiáng)大的集成特性,,可以兼容現(xiàn)有的代碼和PHP應(yīng)用�,,F(xiàn)有的PHP項(xiàng)目可以直接移植到Session clustering解決方案當(dāng)中應(yīng)用。
4.用Zend Platform 做緩存處理
作為ZendPlatform中性能管理的強(qiáng)大組件,,動(dòng)態(tài)內(nèi)容緩存能為大幅度地提高網(wǎng)站的性能,。同時(shí),為了更好地讓這個(gè)組件發(fā)揮它的強(qiáng)大作用,,在對文件做Cache的時(shí)候,需要注意以下幾個(gè)方面:
⑴Cache的配置,。
⑵如何對PHP文件做Cache,。
⑶PHP文件的Cache條件。
⑷ZendPlatform API,。
1.Cache的配置列出的是動(dòng)態(tài)緩存的配置選項(xiàng),。這里需要注意的是Maximum Cache Size配置選項(xiàng),默認(rèn)的設(shè)置是“unlimited”,,這里建議改為一個(gè)固定值,,同時(shí)對“Minimum Free Diskspace”的設(shè)置是表示當(dāng)磁盤空閑空間少于設(shè)定值時(shí),不再進(jìn)行Cache操作,,這個(gè)設(shè)置需要根據(jù)磁盤的具體應(yīng)用而定,。
2.如何對PHP文件做Cache對Cache做了配置之后,如何對文件進(jìn)行Cache呢,,或者在哪里對文件做Cache呢,?在Performance功能里的File View組件可以實(shí)現(xiàn)此項(xiàng)功能�,!癋ile View”選項(xiàng),,列出了服務(wù)器各個(gè)域名的發(fā)布目錄下的所有文件。在這里,,我們可以對文件進(jìn)行Cache,。默認(rèn)的文件狀態(tài)是加速狀態(tài),。單擊文件名前面的選項(xiàng)框,,選中后單擊列表頂部的“Cache”按鈕就可以完成對一個(gè)文件的Cache。當(dāng)然,,可以對多個(gè)文件和文件目錄做整體Cache。只需要注意文件是否滿足Cache的默認(rèn)設(shè)置要求,。
3.PHP文件的Cache條件作為一門動(dòng)態(tài)的Web應(yīng)用語言,,PHP具備了許多種數(shù)據(jù)傳遞方式。例如,,GET、COOKIE,、Session等都是數(shù)據(jù)交互的方式,。當(dāng)一個(gè)文件通過ZendPlatform的GUI界面被Cache的時(shí)候,它的執(zhí)行結(jié)果將會(huì)被保存在指定的緩存區(qū),,如果第二個(gè)訪問該文件的請求到達(dá)時(shí),ZendPlatform將根據(jù)Cache條件進(jìn)行判斷,,看時(shí)候需要重新執(zhí)行文件,。如果根據(jù)Cache條件被緩存的文件已經(jīng)達(dá)到訪問的要求,ZendPlatform將直接把緩存區(qū)中該文件的執(zhí)行結(jié)果返回給用戶,。所以Cache的條件在Cache處理的過程中,,起到了至關(guān)重要的作用,。
除了特殊的應(yīng)用以外,,在一般情況下建議使用默認(rèn)的“None”設(shè)置。下面以COOKIE為例,,介紹對PHP文件做Cache的條件控制,,
Cache的
條件控制
列出了兩個(gè)Cache的條件,,*是AllGET選項(xiàng),表示當(dāng)訪問請求包含的變量包含新的值時(shí)重新執(zhí)行文件,,并保存到緩存區(qū),。第二個(gè)是COOKIE選項(xiàng),舉例以“username”這個(gè)變量為Cache條件,,當(dāng)Cache中的COOKIE中的“username”變量出現(xiàn)新的值的時(shí)候,,重新執(zhí)行文件,并保存到
緩存區(qū),。
4.ZendPlatform APIZendPlatform的GUI界面為用戶提供的是“out-of-the-box”的功能,,屬于即裝即用的功能,不需要對程序本身進(jìn)行修改,。同時(shí),,為了*限度地發(fā)揮PHP的性能,ZendPlatform還提供了一系列API編程接口,。該API接口把Cache的范圍縮小到單個(gè)函數(shù),,以代替整個(gè)文件的輸出。ZendPlatfrom的API是直接內(nèi)嵌在PHP代碼里面的,,可以實(shí)現(xiàn)函數(shù)輸出值或數(shù)據(jù)庫訪問值的緩存和緩存控制,。最常見的ZendPlatform的API是數(shù)據(jù)緩存(Data Caching),使用數(shù)據(jù)緩存*應(yīng)用是社區(qū),、論壇系統(tǒng),。
Data Caching(數(shù)據(jù)緩存)獲取的是PHP或者用戶定義的函數(shù)的執(zhí)行結(jié)果,并以字符串的形式進(jìn)行緩存,。通過使用serialize和unserialize這兩個(gè)函數(shù)還可以對數(shù)列和對象進(jìn)行緩存,。對于直接產(chǎn)生文件輸出的函數(shù),我們不建議對它進(jìn)行緩存,,因?yàn)槿绻痪彺媪藢⒉粫?huì)再被執(zhí)行,,從而導(dǎo)致文件沒有輸出,。數(shù)據(jù)緩存中使用的函數(shù)包括output_cache_fetch,,output_cache_put和output_cache_get。
為了更好地應(yīng)用Zend提供的API函數(shù),,這里提供了5條建議:
⑴產(chǎn)生輸出的循環(huán)使用ZendPlatform的API可以將此代碼修改為:
PHP代碼:
<?php
$forums = unserialize(output_cache_fetch("ForumsList","serialize(listForums())",600));
?>
如果在緩存中有“ForumsList”的數(shù)據(jù),將直接從緩存中提取,,從而繞過了執(zhí)行程序并從數(shù)據(jù)庫提取的環(huán)節(jié),。
安全衛(wèi)士/Zend
基本簡介
1.Zend Guard概述Zend Guard可以實(shí)現(xiàn)對PHP應(yīng)用的腳本進(jìn)行加密保護(hù)和對PHP應(yīng)用的產(chǎn)品進(jìn)行商業(yè)許可證管理。
Zend Guard可以為許多軟件生產(chǎn)商和IT服務(wù)提供商提供安全的完善的加密和安全的產(chǎn)品發(fā)布系統(tǒng),�,?梢暂p松實(shí)現(xiàn)產(chǎn)品發(fā)布的管理,。
Zend Guard由兩個(gè)關(guān)鍵的組件組成:Zend Guard’s encoder和Zend Guard’s license manager,
產(chǎn)品特點(diǎn)
⑴PHP應(yīng)用的腳本進(jìn)行加密保護(hù)和對PHP應(yīng)用的產(chǎn)品進(jìn)行商業(yè)許可證管理,。
⑵增加IP的使用限制(可以防護(hù)復(fù)制應(yīng)用),。這樣可以防止PHP腳本被配置在其他的服務(wù)器而運(yùn)行。
⑶可以為IT服務(wù)提供商提供解決方案,。這樣,,他們的代碼就不會(huì)被輕易地修改,以便他們進(jìn)行技術(shù)支持工作,。
⑷可以讓軟件發(fā)布商業(yè)的PHP產(chǎn)品進(jìn)行靈活多樣的許可證管理,。
⑸多樣的許可證管理包括用戶并發(fā)數(shù)、時(shí)間控制,、網(wǎng)絡(luò)分段控制,、服務(wù)器硬件控制等。
3.用Zend Guard來保護(hù)PHP
⑴發(fā)布加密以后的PHP應(yīng)用產(chǎn)品,。
⑵保護(hù)PHP代碼的知識產(chǎn)權(quán),。
⑶防護(hù)代碼的反編譯,代碼經(jīng)過模糊處理和加密的雙重處理,。
⑷幾秒鐘時(shí)間迅速地模糊處理和加密整個(gè)PHP項(xiàng)目,。
⑸用*代碼優(yōu)化技術(shù)在加密的過程中對代碼進(jìn)行優(yōu)化。
在各種各樣的平臺(tái)中使用加密過后的PHP腳本,,包括Linux,,Windows,Mac OS X,,F(xiàn)reeBSD,,Solaris,AⅨ等,。
應(yīng)用服務(wù)/Zend
基本簡介
Zend Server是PHP創(chuàng)始公司Zend開發(fā)的功能十分強(qiáng)大的PHP Web開發(fā)應(yīng)用服務(wù)器,!是一個(gè)現(xiàn)成的PHP解決方案,可以簡化Windows和Linux環(huán)境中PHP應(yīng)用程序的開發(fā)和運(yùn)行,。它包括一個(gè)經(jīng)過全面測試的PHP*版本,、對眾多數(shù)據(jù)庫系統(tǒng)的支持,以及許多用于改善PHP 性能和診斷的專用于Zend的附加軟件,。
Zend Server目前有兩個(gè)可用版本,。如果您在 PHP 方面有一定的經(jīng)驗(yàn)并且愿意手動(dòng)維護(hù)服務(wù)器和管理更新,可以選擇Zend Server的“社區(qū)”版,,稱為Zend Server Community Edition(CE),。該版本適用于“非關(guān)鍵”應(yīng)用程序并且針對Windows、Linux 和Mac OS X 免費(fèi)提供,;但是,,它不包含“商業(yè)”版所包括的頁面緩存,、代碼跟蹤、脫機(jī)作業(yè)排隊(duì),、自動(dòng)更新和診斷特性,。如果這些特性對您比較重要(如果您使用的服務(wù)器要為關(guān)鍵業(yè)務(wù) PHP 應(yīng)用程序提供服務(wù),這些特性應(yīng)該比較重要),,那么您應(yīng)考慮購買Zend Server的商業(yè)版,,這樣您將有權(quán)使用以上全部特性并能得到Zend提供的技術(shù)支持。
基本特性
1,,基于Web的服務(wù)器管理控制臺(tái):Zend Server通過為PHP配置和維護(hù)提供基于Web的界面,,大大簡化了管理PHP開發(fā)環(huán)境的任務(wù)。使用Zend Server,,您無需在文本編輯器中編輯配置文件,,可以使用點(diǎn)擊式界面通過任一標(biāo)準(zhǔn)Web瀏覽器完成更改PHP參數(shù)的任務(wù)。常見的任務(wù)(如啟用或禁用擴(kuò)展,、更改PHP include path或重啟服務(wù)器等)均可通過這個(gè)基于Web的控制臺(tái)完成,。
2,內(nèi)置的性能優(yōu)化套件:Zend Server不僅僅是PHP的預(yù)打包版,,它還包含一套由Zend創(chuàng)建的輔助工具,,使故障診斷和性能優(yōu)化變得更加簡單。這個(gè)套件包括Zend Optimizer+(一個(gè)用于改善運(yùn)行時(shí)性能的擴(kuò)展)和Zend Data Cache(一組用于PHP應(yīng)用程序中的緩存函數(shù))等工具,。Zend Server的商業(yè)版還包括Zend Page Cache,,該工具支持基于規(guī)則的HTML輸出緩存。
3,,全面的應(yīng)用程序監(jiān)視和故障診斷:PHP不含內(nèi)置的調(diào)試器,,這使得查明和排除應(yīng)用程序錯(cuò)誤成為一個(gè)費(fèi)時(shí)且代價(jià)高昂的過程。有了Zend Server,,就幾乎不存在這一問題了,,因?yàn)橛懈鞣N監(jiān)視和調(diào)試工具可供我們使用。Zend Server的這兩個(gè)版本均包括Zend Debugger—一個(gè)幫助調(diào)試PHP腳本的擴(kuò)展,。Zend Server的商業(yè)版還包括兩個(gè)新特性:Zend代碼跟蹤和Zend作業(yè)隊(duì)列,,前一個(gè)特性簡化了對PHP腳本執(zhí)行的跟蹤、分析和調(diào)試,,后一個(gè)特性能夠異步自動(dòng)運(yùn)行PHP腳本或以預(yù)先指定的間隔運(yùn)行PHP腳本,。較后,Zend Monitor提供了一個(gè)記錄,、跟蹤和報(bào)告應(yīng)用程序和服務(wù)器警報(bào)的接口,。
4,PHP認(rèn)證:Zend Technologies是PHP應(yīng)用程序開發(fā)和部署工具的知名供應(yīng)商,Zend Server的每個(gè)版本都包含經(jīng)過認(rèn)證的*版PHP(已在各種平臺(tái)上進(jìn)行了測試),。對于剛剛開始使用開源技術(shù)的大型企業(yè),該認(rèn)證在增進(jìn)使用PHP平臺(tái)的信心方面非常重要,。Zend Server的商業(yè)用戶還可享用持續(xù)的安全更新和缺陷修復(fù),,以確保其PHP應(yīng)用程序的完整性。
5,,Zend Server Community Edition (CE)完善了整個(gè)開發(fā)工具,,包括開源的Zend框架和PHP Development Tools (PDT)項(xiàng)目,開發(fā)者*次開發(fā)PHP應(yīng)用不需要花時(shí)間配置服務(wù)器平臺(tái)上,,Zend Server尤其在非關(guān)鍵的服務(wù)器部署上具有簡單的優(yōu)勢,。