四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

淺析使用Turck-mmcache編譯來加速、優化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 "<p>"; echo "It used:"; echo $t1-$t; echo "seconds"; ?>
下面是編譯后的compute.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 ZBqVtGMCmMDKzAOmSzNzUdHTdJYxqTIwMLIwYxmYiGRvACBcUBqplZGzojYbbpSvMxCARhtCmBNSjxQOTRdIahn CxJNhOLQGs7mXC5V5QkJQYAt3FwMDCBNOqwcgMC iCbAjskEQ4gy7NEobQ4NcUK7hImuJeZgJazMGkwMSBpYQeyilOT8/NSipFEQeoV7BghwQAEAM45H7Y=');?>

不難發現,通過發布編譯后的程序,應該可以有效的防止程序被篡改。
網站
http://turck-mmcache.sourceforge.NET/
如何獲得turck-mmcache
1 可以通過它的網站獲得
2 從下面的網址下載
http://prdownloads.sourceforge.NET/turck-mmcache/turck-mmcache-2.4.6.tar.gz?download
安裝
1. 將下載的turck-mmcache-2.4.6.tar.gz放到/usr/local下解壓縮
tar zxvf turck-mmcache-2.4.6.tar.gz
2. 進入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
3. 編譯、安裝
make make install
4. 修改/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"

5. 重新啟動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 "<p>"; 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

php技術淺析使用Turck-mmcache編譯來加速、優化PHP代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: jixxzz| 雨后的故事34张原版视频| 陈经纬| 人民的利益电视剧在线观看| 刘德华表里不一| 红电视剧演员表| 想太多吉他谱| 电影林海雪原| 谭咏麟电影| 孔丽娜个人资料简介| 零下的风 完整版| 练习曲电影| 《七律长征》的简笔画| 德鲁| 爱情公寓大电影免费播放完整版| 封神第一部| 晕车喝什么饮料能缓解| 刑事侦缉档案2剧情介绍| 战狼15电影在线观看| 深流 电视剧| 天机太阴在命宫| 上山悠亚| 社会主义道德原则| 意大利诱惑| 吉林旅游必去十大景点| 玛丽亚小泽| 港股三大指数| 洛可希佛帝的电影| 日韩欧美动作影片| 今天是你的生日bb伴奏正谱| 色戒在线观看视频| 搜狐手机网首页新闻| 宫心计1电视剧全集免费高清国语| 在那遥远的地方演员表| 四个月宝宝几斤才达标| 霹雳女王蜂| 虞朗| 玛雅历险记| 孤岛惊魂| 张学友电影全部作品| 毒鲨|