slackware 10下加速、优化、编译php源代码
时间:2004-08-21
来源:互联网
前提
上次因为要加密PHP源代码,防止发布的php程序被别人修改源代码,保护自己的劳动成果,向大家介绍了php_screw。这个软件确实很不错,但是只能起到加密的作用,并没有加速和优化的作用。
下面我们来看看今天的主要:Turck MMCache
它的作用是通过对php代码的编译来加速、优化php代码,我想如果发布的php代码是经过编译的,就和加密差不多了,至一般人少不能看懂。
下面是是编译后的一段代码,大家看看是否能起到保护代码被修改的作用?
网站
http://turck-mmcache.sourceforge.net/
下载
目前最新版本为 2.4.6
[软件环境]
系统:Slackware 10
软件:Apache 1.3.31
PHP 4.3.7
以上环境全部是slackware 10默认安装后自带的。具体的Apache+php+mysql安装方法参照如下
http://www.linuxsir.org/bbs/showthre...threadid=90024
安装
1 将下载的turck-mmcache-2.4.6.tar.gz放到/usr/local下解压缩
2 进入turck-mmcache-2.4.6目录,配置
3 编译、安装
4 修改/etc/apache/目录下的php.ini文件,为了可以使用turck-mmcache。
在php.ini文件里加入如下内容:
5 重新启动Apache
通过以上5步,turck-mmcache已经可以使用了,下面我们对效果进行各简单的测试。
测试
1 编写一个compute.php文件,来进行一个大量循环的计算,在运算前后分别取系统时间,最后将两次时间相减,得出所用时间。(只是个粗略的估计)
2 计算一下未编译时候所用的时间,也就是在浏览器里面调用我本刚刚写的compute.php文件。需要耐心等待一会,大约30秒左右(p3 500的cpu下)
3 为了编译php文件方便,我们来编写一个叫做encoder的shell来编译php文件。
1>首先将/usr/local/turck-mmcache-2.4.6目录下的encoder.php文件复制到/usr/bin目录下
2>用vi encoder建立encoder文件,内容如下:
3>对刚编写的shell给可执行权限,并移动到/usr/bin目录下
4>通过encoder编译compute.php文件,编译后compute.php为编译后文件,源文件被命名为compute.php.bak保存
5>在浏览器里调用编译后的compute.php文件,看看速度时候提高了?
我这里,原来要用27秒,编译后用22秒
注意
我的Shell编的并不好,只是问了编译php的时候方便而已,大家可以自己因个人需要编写,主要就是调用encoder.php这个文件
如果要手动编译的话,就是如下命令
总结
我感觉这个软件要比php_screw好,因为可以对php文件进行加速和优化。
但就加密来讲肯定没有php_screw要好,因为只是对php文件进行了编译,并没有加密。
如果熟悉turck-mmcache的用户,完全可以写个反编译出来。
所以大家又想加速、优化,又不想将php明文存放在服务器上,就要turck-mmcache最好
要是单纯加密,不考虑速度的话,就用php_screw吧
上次因为要加密PHP源代码,防止发布的php程序被别人修改源代码,保护自己的劳动成果,向大家介绍了php_screw。这个软件确实很不错,但是只能起到加密的作用,并没有加速和优化的作用。
下面我们来看看今天的主要:Turck MMCache
它的作用是通过对php代码的编译来加速、优化php代码,我想如果发布的php代码是经过编译的,就和加密差不多了,至一般人少不能看懂。
下面是是编译后的一段代码,大家看看是否能起到保护代码被修改的作用?
代码:
<?php if (!is_callable("mmcache_load") && !@dl((PHP_OS=="WINNT"||PHP_OS=="WIN32")?"TurckLoader.dll":"TurckLoader.so")) { die(" This PHP script has been encoded with Turck MMcache, to run it you must install <a href=\"http://turck-mmcache.sourceforge.net /\">Turck MMCache or Turck Loader</a>");} return mmcache_load('eJzz9XV2dPZwZWBiYGBgZABRzAwgoM0AAakggoODIxgozQxUwJDIqMbIyMDIiCy ZBqVtGMCmMDKzAOmSzNzUdHTdJYxqTIwMLIwYxmYiGRvACBcUBqplZGzojYbbpSvMxCARhtCmBNSjxQOTRdIahnCxJNhOLQGs7mXC5V5QkJQYAt3FwMDCBNOqwcgMC iCbAjskEQ4gy7NEobQ4NcUK7hImuJeZgJazMGkwMSBpYQeyilOT8/NSipFEQeoV7BghwQAEAM45H7Y=');?>
http://turck-mmcache.sourceforge.net/
下载
目前最新版本为 2.4.6
[软件环境]
系统:Slackware 10
软件:Apache 1.3.31
PHP 4.3.7
以上环境全部是slackware 10默认安装后自带的。具体的Apache+php+mysql安装方法参照如下
http://www.linuxsir.org/bbs/showthre...threadid=90024
安装
1 将下载的turck-mmcache-2.4.6.tar.gz放到/usr/local下解压缩
代码:
tar zxvf turck-mmcache-2.4.6.tar.gz
代码:
cd turck-mmcache-2.4.6 export PHP_PREFIX="/usr" $PHP_PREFIX/bin/phpize ./configure --enable-mmcache=shared --with-php-config=$PHP_PREFIX/bin/php-config
代码:
make make install
在php.ini文件里加入如下内容:
代码:
extension="mmcache.so" mmcache.shm_size="16" mmcache.cache_dir="/tmp/mmcache" mmcache.enable="1" mmcache.optimizer="1" mmcache.check_mtime="1" mmcache.debug="0" mmcache.filter="" mmcache.shm_max="0" mmcache.shm_ttl="0" mmcache.shm_prune_period="0" mmcache.shm_only="0" mmcache.compress="1"
代码:
/etc/rc.d/rc.httpd restart
测试
1 编写一个compute.php文件,来进行一个大量循环的计算,在运算前后分别取系统时间,最后将两次时间相减,得出所用时间。(只是个粗略的估计)
代码:
<? //============用来循环计算的compute.php文件================// $a=0; $t=time(); for($i=0;$i<6000000;$i++) {$a=$a*$i;} $t1=time(); echo "<p>"; echo "It used:"; echo $t1-$t; echo "seconds"; ?>
3 为了编译php文件方便,我们来编写一个叫做encoder的shell来编译php文件。
1>首先将/usr/local/turck-mmcache-2.4.6目录下的encoder.php文件复制到/usr/bin目录下
代码:
cp /usr/local/turck-mmcache-2.4.6/encoder.php /usr/bin/
代码:
#!/bin/sh clear src=$1; echo $src; src2=$src".en"; echo $src2; php /usr/bin/encoder.php ./$src -o $src2; mv $src $src.bak; mv $src.en $src;
代码:
chmod +x encoder mv encoder /usr/bin/
代码:
encode compute.php
我这里,原来要用27秒,编译后用22秒
注意
我的Shell编的并不好,只是问了编译php的时候方便而已,大家可以自己因个人需要编写,主要就是调用encoder.php这个文件
如果要手动编译的话,就是如下命令
代码:
php /usr/bin/encoder.php 源文件名 -o 编译后的文件名
我感觉这个软件要比php_screw好,因为可以对php文件进行加速和优化。
但就加密来讲肯定没有php_screw要好,因为只是对php文件进行了编译,并没有加密。
如果熟悉turck-mmcache的用户,完全可以写个反编译出来。
所以大家又想加速、优化,又不想将php明文存放在服务器上,就要turck-mmcache最好
要是单纯加密,不考虑速度的话,就用php_screw吧
作者: babo 发布时间: 2004-08-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28