仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 991|回复: 19
打印 上一主题 下一主题

[学习教程] PHP编程:用Zend Encode编写开辟PHP法式

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:25:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
左手拿着MOTOLOLA右手拿着NOKIA,要多潇洒,有多潇洒,哈哈,终于学会了,但是可能这个时候,又会有人不经意的拍拍肩膀对你说:哥们,别高兴的太早,你还是菜鸟,离学会还差着一大截呢!encode|法式   利用PHP的人都晓得,它是一个剧本编程东西,用它写的法式,必需以源码的模式放置在Web办事器上,所以咱们没法回护本人的源代码。人人都晓得任何一个剧本法式的履行效力同具有不异功效的编译好的二进制代码比拟较,它的履行效力都是对照低的。那末如果有一个东西可以帮咱们把用PHP写的法式编译成二进制代码就行了,如许不仅履行效力进步了,
运转速度也加速了。真如果有这么一个东西,那就是一箭双雕了。

  如今这不是妄想了,Zend Encode就是为此而开辟的,它可以直接将剧本编译成二进制码。有了Zend Encode,你就能够将本人写好的PHP法式,编译后分发给良多用户,而用不着公然本人的源法式代码。编译好的二进制代码可以被Zend Optimizer通明读取,也就是说,客户只需在他的办事器上装置Zend Optimizer就能够履行由Zend Encode编译好的PHP法式。编译法式中包括有Zend Optimizer的局部代码,所以编译过程当中对法式代码进一步作了优化处置,这即意味着剧本的履行效力进步了。

  从必定意义上讲,Zend Encode是一个“PHP编译器”。然而,它又不是一个真正意义上的编译器,由于真正编译完成的法式可以离开本来的编译情况运转,而Zend Encode编译过的法式,需求有Zend Optimizer的撑持。就像编译好的Java二进制代码,需求JVM的撑持。所以,Zend Optimizer可以看做是PHP编译好代码的虚拟机。不论怎样说,它们要经由过程互相共同利用。

  今朝Zend Encode撑持的操作体系有:Solaris、Linux、FreeBSD及Windows。Zend Encode可以直接运转,电脑体系中纷歧定非要装置PHP。

  Zend Encode的装置

  先去下载一个软件包吧!Zend Encode不是自在软件,利用它要付费,并且价钱相当高。幸亏zend.com供应了一个可供试用的软件包,用户可以避免费试用30天。这个软件包可以直接从www.zend.com上取得。所以,起首要到www.zend.com高低载Zend Encode、Zend Optimizer软件包。其次,要下载一个受权文件license。因为Zend Encode是一个受权利用的产物,所以需求用户从zend.com上请求一个license。请求步调以下:

  要请求一个试用的license,需求向zend.com供应你正在利用的盘算机的ID,也即在请求页中填写host ID(实践上就是你盘算机上的网卡的MAC地址)。检查盘算机ID的办法以下:从zend.com下载一个lmutil.z的法式,解压后失掉法式lmutil,运转它,它会依据体系的硬件特点发生一个序列串。将这个序列号填入到请求license页的host ID中,zend.com会在48小时内为用户生成一个license,下载此license文件,文件名为zendEncode.dat,它只能在这台电脑上利用。

  1.将Zend Encode软件包也解紧缩到/usr/local/Zend目次下。解紧缩完成后,目次下多了一个zendenc的文件,它就是谁人“编译器”啦。

  2.将谁人license文件复制到/usr/local/Zend目次下装置完成。

  Zend Optimizer的装置

  完成了Zend Encode的装置,才完成了一半义务,要利用编译后的PHP二进制代码,还要装置一个注释器――Zend Optimizer,有了它的撑持,编译后的PHP二进制文件才干被准确地履行。

  与Zend Encode分歧,Zend Optimizer是一个收费软件,它的次要功效是减速PHP剧本文件的运转。据Zend.com称,有了Zend Optimizer的优化,法式的履行效力可以进步600%,经由笔者的复杂测试,履行效力切实其实是进步了很多。
装置Zend Optimizer步调以下:

  1.解紧缩Zend Optimizer软件包,将zendoptimizer.so文件复制到/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办事器,使以上更重生效。

  Zend Encode的利用

  如今筹办任务全体完成了,咱们写一个复杂的PHP剧本,利用Zend Encode编译一下,看看后果若何。先写一个最复杂的剧本,看看编译后的代码能不克不及履行:

  #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复制到Web办事器的宣布目次下,在阅读器上键入localhost/testencode.PHP,哇!编译后的代码可以胜利运转了!因为咱们利用是试用版的Zend Encode,所以,在页面的最下面会呈现一个图片,申明这是一个由Zend Encode试用软件包所发生的二进制文件。正式版的软件中,图片将不会再现。

  上面再看看它的履行效力吧!起首写一个小的盘算法式粗略估量一下:

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

  ?>

  这个法式在履行时,取体系的工夫,完成后再取体系工夫,两个值的差即为全部法式运转所需工夫,先在没有编译的情形下履行一遍,然后用Zend Encode编译后再履行一遍。对照了局:没有编译的情形下,运转所需工夫均匀为19秒,编译后的代码均匀履行工夫为9秒,看来履行效力是进步了很多。
  如果不会怎么办,我的视频教程里有个最简单的留言板 最开始离不开模仿,
若相依 该用户已被删除
沙发
发表于 2015-2-4 21:43:50 | 只看该作者
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
小女巫 该用户已被删除
板凳
发表于 2015-2-10 17:30:07 | 只看该作者
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
海妖 该用户已被删除
地板
发表于 2015-2-22 11:07:35 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
活着的死人 该用户已被删除
5#
发表于 2015-2-28 10:35:19 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
分手快乐 该用户已被删除
6#
发表于 2015-3-5 09:38:18 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
兰色精灵 该用户已被删除
7#
发表于 2015-3-10 22:08:21 | 只看该作者
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
透明 该用户已被删除
8#
发表于 2015-3-17 11:09:39 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
深爱那片海 该用户已被删除
9#
发表于 2015-3-22 21:02:16 | 只看该作者
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
乐观 该用户已被删除
10#
发表于 2015-3-25 20:28:25 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
老尸 该用户已被删除
11#
发表于 2015-3-28 07:56:31 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
小魔女 该用户已被删除
12#
发表于 2015-3-31 18:50:01 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
变相怪杰 该用户已被删除
13#
发表于 2015-4-1 19:11:25 | 只看该作者
当然这种网站的会员费就几十块钱。
飘飘悠悠 该用户已被删除
14#
发表于 2015-4-9 09:13:16 | 只看该作者
有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。
不帅 该用户已被删除
15#
 楼主| 发表于 2015-4-9 12:25:51 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
只想知道 该用户已被删除
16#
发表于 2015-5-5 08:28:03 | 只看该作者
遇到出错的时候,我经常把错误信息直接复制到 google的搜索栏,一般情况都是能搜到结果的,不过有时候会搜出来一大片英文的出来,这时候就得过滤一下,吧中文的弄出来,挨着式方法。
小妖女 该用户已被删除
17#
发表于 2015-6-8 18:31:34 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
再见西城 该用户已被删除
18#
发表于 2015-6-27 16:51:03 | 只看该作者
当然这种网站的会员费就几十块钱。
飘灵儿 该用户已被删除
19#
发表于 2015-6-30 15:59:45 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
山那边是海 该用户已被删除
20#
发表于 2015-7-7 01:02:11 | 只看该作者
我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-13 10:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表