成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導(dǎo)航首頁(yè) ? 技術(shù)教程 ? 用Zend Encode編寫(xiě)開(kāi)發(fā)PHP程序
全站頭部文字 我要出現(xiàn)在這里
用Zend Encode編寫(xiě)開(kāi)發(fā)PHP程序 710 2023-12-09   

Zend Encode的工作原理
使用PHP的人都知道,它是一個(gè)腳本編程工具,用它寫(xiě)的程序,必須以源碼的形式放置在Web服務(wù)器上,所以我們無(wú)法保護(hù)自己的源代碼。大家都知道任何一個(gè)腳本程序的執(zhí)行效率同具有相同功能的編譯好的二進(jìn)制代碼相比較,它的執(zhí)行效率都是比較低的。那么要是有一個(gè)工具能夠幫我們把用PHP寫(xiě)的程序編

譯成二進(jìn)制代碼就好了,這樣不但執(zhí)行效率提高了,
運(yùn)行速度也加快了。真要是有這么一個(gè)工具,那就是
一舉兩得了。

現(xiàn)在這不是夢(mèng)想了,Zend Encode就是為此而開(kāi)發(fā)的,它可以直接將腳本編譯成二進(jìn)制碼。有了Zend Encode,你就可以將自己寫(xiě)好的PHP程序,編譯后分發(fā)給很多用戶,而用不著公開(kāi)自己的源程序代碼。編譯好的二進(jìn)制代碼可以被Zend Optimizer透明讀取,也就是說(shuō),客戶只要在他的服務(wù)器上安裝Zend Optimizer就可以執(zhí)行由Zend Encode編譯好的PHP程序。編譯程序中包含有Zend Optimizer的部分代碼,所以編譯過(guò)程中對(duì)程序代碼進(jìn)一步作了優(yōu)化處理,這即意味著腳本的執(zhí)行效率提高了。

從一定意義上講,Zend Encode是一個(gè)“PHP編譯器”。但是,它又不是一個(gè)真正意義上的編譯器,因?yàn)檎嬲幾g完成的程序可以脫離原來(lái)的編譯環(huán)境運(yùn)行,而Zend Encode編譯過(guò)的程序,需要有Zend Optimizer的支持。就像編譯好的Java二進(jìn)制代碼,需要JVM的支持。所以,Zend Optimizer可以看作是PHP編譯好代碼的虛擬機(jī)。不管怎么說(shuō),它們要通過(guò)相互配合使用。
目前Zend Encode支持的操作系統(tǒng)有:Solaris、Linux、FreeBSD及Windows。Zend Encode可以直接運(yùn)行,電腦系統(tǒng)中不一定非要安裝PHP。
Zend Encode的安裝

先去下載一個(gè)軟件包吧!Zend Encode不是自由軟件,使用它要付費(fèi),而且價(jià)格相當(dāng)高。幸好zend.com提供了一個(gè)可供試用的軟件包,用戶可以免費(fèi)試用30天。這個(gè)軟件包可以直接從www.zend.com上獲得。所以,首先要到www.zend.com上下載Zend Encode、Zend Optimizer軟件包。其次,要下載一個(gè)授權(quán)文件license。由于Zend Encode是一個(gè)授權(quán)使用的產(chǎn)品,所以需要用戶從zend.com上申請(qǐng)一個(gè)license。
申請(qǐng)步驟如下:
要申請(qǐng)一個(gè)試用的license,需要向zend.com提供你正在使用的計(jì)算機(jī)的ID,也即在申請(qǐng)頁(yè)中填寫(xiě)host ID(實(shí)際上就是你計(jì)算機(jī)上的網(wǎng)卡的MAC地址)。查看計(jì)算機(jī)ID的方法如下:從zend.com下載一個(gè)lmutil.z的程序,解壓后得到程序 lmutil,運(yùn)行它,它會(huì)根據(jù)系統(tǒng)的硬件特征產(chǎn)生一個(gè)序列串。將這個(gè)序列號(hào)填入到申請(qǐng)license頁(yè)的host ID中,zend.com會(huì)在48小時(shí)內(nèi)為用戶生成一個(gè)license,下載此license文件,文件名為zendEncode.dat,它只能在這臺(tái)電腦上使用。

1.將Zend Encode軟件包也解壓縮到/usr/local/Zend目錄下。解壓縮完成后,目錄下多了一個(gè)zendenc的文件,它就是那個(gè)“編譯器”啦。

2.將那個(gè)license文件復(fù)制到/usr/local/Zend目錄下安裝完成。

Zend Optimizer的安裝

完成了Zend Encode的安裝,才完成了一半任務(wù),要使用編譯后的PHP二進(jìn)制代碼,還要安裝一個(gè)解釋器——Zend Optimizer,有了它的支持,編譯后的PHP二進(jìn)制文件才能被正確地執(zhí)行。
與Zend Encode不同,Zend Optimizer是一個(gè)免費(fèi)軟件,它的主要功能是加速PHP腳本文件的運(yùn)行。據(jù)Zend.com稱,有了Zend Optimizer的優(yōu)化,程序的執(zhí)行效率可以提高600%,經(jīng)過(guò)筆者的簡(jiǎn)單測(cè)試,執(zhí)行效率的確是提高了不少。
安裝Zend Optimizer步驟如下:
1.解壓縮Zend Optimizer軟件包,將zendoptimizer.so文件復(fù)制到/usr/local/Zend/lib目錄中。
2.打開(kāi)/usr/local/lib/PHP.ini文件,在文件中加入以下兩行:
zend_optimizer.optimization_level=15
zend_extension=”/usr/local/Zend/lib/ zendoptimizer.so”
3.重啟動(dòng)Apache服務(wù)器,使以上更新生效。
Zend Encode的使用
現(xiàn)在準(zhǔn)備工作全部完成了,我們寫(xiě)一個(gè)簡(jiǎn)單的PHP腳本,使用Zend Encode編譯一下,看看效果如何。先寫(xiě)一個(gè)最簡(jiǎn)單的腳本,看看編譯后的代碼能不能執(zhí)行:
#vi test.PHP
<? Phpinfo(); ?>
編譯它:
#[root@mail Zend]# ./zendenc test.PHP testencode.PHP
Zend Encoder Unlimited (TEST DRIVE) v1.1.0 (c) Zend Technologies, 1999-2000
Licensed to: xqkred.
Compiling test.PHP…
Done encoding test.PHP.
Optimizing… Done.
Saving… Done.
好,成功編譯。不過(guò),編譯好的程序大小較之以前要大很多。
將testencode.PHP復(fù)制到Web服務(wù)器的發(fā)布目錄下,在瀏覽器上鍵入localhost/testencode.PHP,哇!編譯后的代碼可以成功運(yùn)行了!由于我們使用是試用版的Zend Encode,所以,在頁(yè)面的最上面會(huì)出現(xiàn)一個(gè)圖片,說(shuō)明這是一個(gè)由Zend Encode試用軟件包所產(chǎn)生的二進(jìn)制文件。正式版的軟件中,圖片將不會(huì)再現(xiàn)。
下面再看看它的執(zhí)行效率吧!首先寫(xiě)一個(gè)小的計(jì)算程序粗略估計(jì)一下:
[compute.PHP]

<?
r=time();
for( 121=0;121<1000000;121++) {
if((121%20)!=0) {echo 121; echo “,”;}
else { echo “<br>”;}
}
=time();
echo “<br>”; echo “It used:”; echo -r; echo ” seconds”;
?>

這個(gè)程序在執(zhí)行時(shí),取系統(tǒng)的時(shí)間,完成后再取系統(tǒng)時(shí)間,兩個(gè)值的差即為整個(gè)程序運(yùn)行所需時(shí)間,先在沒(méi)有編譯的情況下執(zhí)行一遍,然后用Zend Encode編譯后再執(zhí)行一遍。比較結(jié)果:沒(méi)有編譯的情況下,運(yùn)行所需時(shí)間平均為19秒,編譯后的代碼平均執(zhí)行時(shí)間為9秒,看來(lái)執(zhí)行效率是提高了不少。

主站蜘蛛池模板: outlander| 巴黎最后的探戈| 郑书允的10部作品| 香蜜沉沉烬如霜电视剧演员表| 抗日电影免费| 触底反弹电影| 电影百度百科| 国土防线| 翟小兴| 海洋天堂电影免费观看高清| 五年级语文上册第八课笔记| 汤晶锦| 抖音1| 年轻电影| 潇洒的走简谱 | 扎西顿珠的个人资料简介| 全蚀狂爱| 3d成人国产同人动漫焰灵姬 | 松永| 宇宙刑事卡邦| 五年级语文下册| 脚 vk| 乔什布洛林| 林海雪原演员表| 红色角落| 张芸| 猎仇者演员表| 意 电影| 东莞女孩| 浙江卫视全天节目单| 电影疯狂之人| 痛风能吃豆腐吗| 天下第一剑| 单敬尧| 韩奕| 打手板心视频80下| 啊嗯啊嗯啊嗯啊| 91自拍网| 1024电影| 小升初英语试卷可打印| 邻家花美男 电视剧|

!!!站長(zhǎng)長(zhǎng)期在線接!!!

網(wǎng)站、小程序:定制開(kāi)發(fā)/二次開(kāi)發(fā)/仿制開(kāi)發(fā)等

各種疑難雜癥解決/定制接口/定制采集等

站長(zhǎng)微信:lxwl520520

站長(zhǎng)QQ:1737366103