多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > 用Zend Encode編寫開發(fā)PHP程序

用Zend Encode編寫開發(fā)PHP程序

來源:程序員人生   發(fā)布時間:2013-11-30 10:19:50 閱讀次數(shù):3179次
使用php的人都知道,它是一個腳本編程工具,用它寫的程序,必須以源碼的形式放置在web服務(wù)器上,所以我們無法保護自己的源代碼。大家都知道任何一個腳本程序的執(zhí)行效率同具有相同功能的編譯好的二進制代碼相比較,它的執(zhí)行效率都是比較低的。那么要是有一個工具能夠幫我們把用php寫的程序編譯成二進制代碼就好了,這樣不但執(zhí)行效率提高了,
運行速度也加快了。真要是有這么一個工具,那就是一舉兩得了。

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

  從一定意義上講,zend encode是一個“php編譯器”。但是,它又不是一個真正意義上的編譯器,因為真正編譯完成的程序可以脫離原來的編譯環(huán)境運行,而zend encode編譯過的程序,需要有zend optimizer的支持。就像編譯好的java二進制代碼,需要jvm的支持。所以,zend optimizer可以看作是php編譯好代碼的虛擬機。不管怎么說,它們要通過相互配合使用。

  目前zend encode支持的操作系統(tǒng)有:solaris、linux、freebsd及windows。zend encode可以直接運行,電腦系統(tǒng)中不一定非要安裝php。

  zend encode的安裝

  先去下載一個軟件包吧!zend encode不是自由軟件,使用它要付費,而且價格相當(dāng)高。幸好zend.com提供了一個可供試用的軟件包,用戶可以免費試用30天。這個軟件包可以直接從www.zend.com上獲得。所以,首先要到www.zend.com上下載zend encode、zend optimizer軟件包。其次,要下載一個授權(quán)文件license。由于zend encode是一個授權(quán)使用的產(chǎn)品,所以需要用戶從zend.com上申請一個license。申請步驟如下:

  要申請一個試用的license,需要向zend.com提供你正在使用的計算機的id,也即在申請頁中填寫host id(實際上就是你計算機上的網(wǎng)卡的mac地址)。查看計算機id的方法如下:從zend.com下載一個lmutil.z的程序,解壓后得到程序lmutil,運行它,它會根據(jù)系統(tǒng)的硬件特征產(chǎn)生一個序列串。將這個序列號填入到申請license頁的host id中,zend.com會在48小時內(nèi)為用戶生成一個license,下載此license文件,文件名為zendencode.dat,它只能在這臺電腦上使用。

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

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

  zend optimizer的安裝

  完成了zend encode的安裝,才完成了一半任務(wù),要使用編譯后的php二進制代碼,還要安裝一個解釋器——zend optimizer,有了它的支持,編譯后的php二進制文件才能被正確地執(zhí)行。

  與zend encode不同,zend optimizer是一個免費軟件,它的主要功能是加速php腳本文件的運行。據(jù)zend.com稱,有了zend optimizer的優(yōu)化,程序的執(zhí)行效率可以提高600%,經(jīng)過筆者的簡單測試,執(zhí)行效率的確是提高了不少。
安裝zend optimizer步驟如下:

  1.解壓縮zend optimizer軟件包,將zendoptimizer.so文件復(fù)制到/usr/local/zend/lib目錄中。

  2.打開/usr/local/lib/php.ini文件,在文件中加入以下兩行:

  zend_optimizer.optimization_level=15

  zend_extension="/usr/local/zend/lib/ zendoptimizer.so"

  3.重啟動apache服務(wù)器,使以上更新生效。

  zend encode的使用

  現(xiàn)在準(zhǔn)備工作全部完成了,我們寫一個簡單的php腳本,使用zend encode編譯一下,看看效果如何。先寫一個最簡單的腳本,看看編譯后的代碼能不能執(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.

  好,成功編譯。不過,編譯好的程序大小較之以前要大很多。

  將testencode.php復(fù)制到web服務(wù)器的發(fā)布目錄下,在瀏覽器上鍵入localhost/testencode.php,哇!編譯后的代碼可以成功運行了!由于我們使用是試用版的zend encode,所以,在頁面的最上面會出現(xiàn)一個圖片,說明這是一個由zend encode試用軟件包所產(chǎn)生的二進制文件。正式版的軟件中,圖片將不會再現(xiàn)。

  下面再看看它的執(zhí)行效率吧!首先寫一個小的計算程序粗略估計一下:

  [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";

  ?>

  這個程序在執(zhí)行時,取系統(tǒng)的時間,完成后再取系統(tǒng)時間,兩個值的差即為整個程序運行所需時間,先在沒有編譯的情況下執(zhí)行一遍,然后用zend encode編譯后再執(zhí)行一遍。比較結(jié)果:沒有編譯的情況下,運行所需時間平均為19秒,編譯后的代碼平均執(zhí)行時間為9秒,看來執(zhí)行效率是提高了不少。
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产在线中文字幕 | 伊人一本之道 | 一级中文字幕乱码免费 | 欧美成人免费一区在线播放 | 久久久午夜精品 | 亚洲精品久久久久久久久久久网站 | 日韩欧美精品在线观看 | 日本动漫片b站免费观看 | 一区二区三区毛片免费 | 日本中文字幕网 | 中文字幕一区二区三区在线观看 | 国产在线乱码在线视频 | 久久精品国产免费高清 | 久久亚洲伊人成综合人影院 | 国产亚洲精品一区二区在线观看 | 波多野结衣中文字幕在线播放 | 另类五月 | 欧美日韩一区二区三区四区在线观看 | 色偷偷青青草原在线视频 | 欧美成人 一区二区三区 | 免费a网站 | 老王午夜69精品影院 | 一级欧美一级日韩片 | 久久国内 | 国产精品永久免费视频观看 | 午夜爽爽视频 | 精品肉动漫资源在线观看 | 免费网站看v片在线观看 | 免费网站在线播放 | 久久只有精品 | 日本福利片秋霞国产午夜 | 人人澡人人爱 | 日本一区二区三区不卡在线视频 | 久久xx| 国产精品99爱免费视频 | 精品肉动漫资源在线观看 | 日韩免费一区 | 全网免费在线播放视频入口 | 69av免费观看 | 毛片h| 国产精品久久久视频 |