screw这个开源软件,它的作用是通过对php代码的编译来加速、优化php代码
分类:威尼斯手机平台

php_screw确实十分不利,可是只好起到加密的效果与利益,并不曾加快和优化的法力。
下边大家来探视:Turck MMCache 它的效力是通过对php代码的编写翻译来加快、优化php代码,大家借使公布的php代码是由此编写翻译的,也多少能起到有个别对代码的维护功能。
上面大家对compute.php进行编写翻译看看前后的代码差距,下边是compute.php的源代码
//============用来循环总结的compute.php文件================// $a=0; $t=time(卡塔尔; for($i=0;$i<6000000;$i++卡塔尔(قطر‎ {$a=$a*$i;} $t1=time(); echo "

在动用PHP进度中开掘,自身编排的php代码因为都以源代码情势放在服务器上的所以相当的轻巧就被人家拿走随意改革(产生投机支付的)使用了。
为了保住自身的劳动成果,作者一向找寻风流倜傥种能够加密php代码的软件。
最有名的正是Zend公司的Zendencoder了,但是否开源软件(提出的价格超高,也从不找到破解版)。
既然如此收费的用不起,我们就用开源的。小编找到了php_screw那个开源软件,近日新星版本是1.5
安装情形 系统:centos 5.3
软件:Apache 2.2.9
PHP 5.2.10
以上条件全方位是友好下载配置安装的。具体的Apache+php+mysql安装方式请从英特网检索。
安装
1.用tar解压缩 tar -zxvf php_screw-1.5.tar.gz
2.进入php_screw-1.5目录起先安装
cd php_screw-1.5
phpize
有关phpize ,它在php5-dev增添模块中 只要安装php5-dev模块就行了。
./confiugre
3.装置自身用来加密的密码 复制代码 代码如下:
vi my_screw.h
 -- Please change the encryption SEED key (pm9screw_mycryptkey) into the
    values according to what you like.
    The encryption will be harder to break, if you add more values to the
    encryption SEED array. However, the size of the SEED is unrelated to
    the time of the decrypt processing.
 *  If you can read and understand the source code, to modify an original
        encryption logic will be possible. But in general, this should not
        be necessary.
   OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
        file. If you like, you may change this stamp defined by
        PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
        be less than or equal to the size of PM9SCREW.

"; echo "It used:"; echo $t1-$t; echo "seconds"; ?>
上面是编写翻译后的compute.php文件 复制代码 代码如下:
Turck MMCache or Turck Loader");} return mmcache_load('eJzz9XV2dPZwZWBiYGBgZABRzAwgoM0AAakggoODIxgozQxUwJDIqMbIyMDIiCy ZBqVtGMCmMDKzAOmSzNzUdHTdJYxqTIwMLIwYxmYiGRvACBcUBqplZGzojYbbpSvMxCARhtCmBNSjxQOTRdIahn CxJNhOLQGs7mXC5V5QkJQYAt3FwMDCBNOqwcgMC iCbAjskEQ4gy7NEobQ4NcUK7hImuJeZgJazMGkwMSBpYQeyilOT8/NSipFEQeoV7BghwQAEAM45H7Y=');?>

4.编译 make
5.拷贝modules目录下的php_screw.so文件到/usr/lib/php5/extension目录下 cp modules/php_screw.so /usr/lib/php5/extension/
6.编辑php.ini文件 在php.ini文件里,加入如下语句
extension=php_screw.so
7.再度启航Apache /srv/apache/bin/apachectl restart
8.编写翻译加密工具 cd tools
make
9.将tools目录下加密用的工具screw拷贝到符合目录 cp screw /usr/bin/
通过上述的10步,就曾经把php_screw-1.5整整安装到位了。并且未来的php也早就支撑解释加密过的php文件了
使用
1.现写一个要加密的php文件。
自己写了之类的二个用来测量检验php速度的test.php文件
复制代码 代码如下:

简易开采,通过公布编写翻译后的顺序,应该可以使得的严防程序被曲解。
网站
怎么样赢得turck-mmcache 1 能够透过它的网址得到
2 从底下的网站下载

安装 1. 将下载的turck-mmcache-2.4.6.tar.gz放到/usr/local下解压缩
tar zxvf turck-mmcache-2.4.6.tar.gz

$a=0;
$t=time();
for($i=0;$i<5000000;$i++)
  {$a=$a*$i;}
$t1=time();
echo "

  1. 进入turck-mmcache-2.4.6目录,配置
    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
  2. 编译、安装
    make make install
  3. 改进/etc/apache/目录下的php.ini文件,为了能够动用turck-mmcache。
    在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"

  4. 再也启航Apache
    /etc/rc.d/rc.httpd restart
    通过以上5步,turck-mmcache已经足以利用了,上面大家对加速、优化职能实行轻巧的测量检验。
    测试
    1. 编辑一个compute.php文件,来拓宽一个大气循环的乘除,在运算前后分别取系统时间,最终将一回时间相减,得出所用时间。(只是个简易的估量) compute.php文件内容如下
    //============用来循环总括的compute.php文件================// $a=0; $t=time(卡塔尔; for($i=0;$i<6000000;$i++卡塔尔国 {$a=$a*$i;} $t1=time(); echo "

";
echo "It used:";
echo $t1-$t;
echo "seconds";
?>

"; echo "It used:"; echo $t1-$t; echo "seconds"; ?>
2. 计量一下未编写翻译时候所用的时刻,也正是在浏览器里面调用作者本刚刚写的compute.php文件。亟需耐性等待一会,大概30秒左右(p3 500的cpu下)
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/
<2> 用vi encoder营造encoder文件,内容如下:
#!/bin/sh clear src=$1; echo $src; src2=$src".en"; echo $src2; cp /usr/bin/encoder.php ./encoder.php php encoder.php $src -o $src2; rm encoder.php mv $src $src.bak; mv $src.en $src;
<3> 对刚编写的shell给可实施权限,并活动到/usr/bin目录下
chmod +x encoder mv encoder /usr/bin/
<4> 通过encoder编写翻译compute.php文件,编写翻译后compute.php为编写翻译后文件,源文件被取名称为compute.php.bak保存
encode compute.php
<5> 在浏览器里调用编写翻译后的compute.php文件,看看速度时候增加了?
本身那边,原本要用27秒,编写翻译后用22秒

php_screw和turck-mmcache的区别
php_screw只是只是的对php代码加密,并未加速和优化的功力。
turck-mmcache是由此对php代码的编写翻译,来使php代码解释进行的快慢能够接近二进制代码的速度。能够起到增加速度和优化php代码的职能。可是turck-mmcache编写翻译后的代码,只是将源代码通过自然准绳成为了二进制代码,并未当真的加密。
就此只要要想确定保证代码的断然安全就用php_screw,假设思忖到速度等成分,正是用turck-mmcache

将上面包车型客车test.php文件放到/var/www/目录下。通过浏览器访问,将呈现出php在多量划算时的快慢(粗略推测)
2.将大家写的php文件加密 cd /var/www/
screw test.php
我们加密后,现在目录下的test.php文件正是大家已经加密的了。而源文件被改名换姓为test.php.screw存放了。
咱俩前日再测验一下test.php,看看是还是不是健康使用?速度怎么着?
本人比较了一下,加密前后的进程大概同样,基本没有太多的损失。
3.批拍卖加密文件 在debian, apache2, php5上测量试验过对.html文件加密后,能科学拆解解析;
php_screw如何对当前目录下,对目录下满含的文件,以致富含目录下的文书进行总体加密
find ./ -name "*.php"-print|xargs -n1 screw //加密全部的.php文件
find ./ -name "*.screw" -print/xargs -n1 rm //删除全部的.php源文件的备份文件
这么在当前目录下的全数.php文件就全数背加密了

本文由威尼斯在线注册平台发布于威尼斯手机平台,转载请注明出处:screw这个开源软件,它的作用是通过对php代码的编译来加速、优化php代码

上一篇:没有了 下一篇:需要注意php获取路径用的是realpath,复制代码 代码如下
猜你喜欢
热门排行
精彩图文