Turck-mmcache 컴파일을 사용하여 PHP 코드를 가속화하고 최적화하는 분석

3971 단어
php_screw는 확실히 괜찮지만 암호화 작용만 할 수 있고 가속화와 최적화 작용은 없다.
다음을 살펴보겠습니다.
Turck MMCache의 역할은 php 코드에 대한 컴파일을 통해 php 코드를 가속화하고 최적화하는 것이다. 우리가 발표한 php 코드가 컴파일을 거친 것이라면 코드에 대한 보호 역할을 다소 할 수 있다.
다음은 컴퓨터php를 컴파일해서 전후의 코드 차이를 보십시오. 다음은 컴퓨터입니다.php의 소스 코드
//============ 순환 계산에 사용되는 컴퓨터.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"; ?>
다음은 컴파일된 컴퓨터입니다.php 파일
 
  
Turck MMCache or Turck Loader");} return mmcache_load('eJzz9XV2dPZwZWBiYGBgZABRzAwgoM0AAakggoODIxgozQxUwJDIqMbIyMDIiCy ZBqVtGMCmMDKzAOmSzNzUdHTdJYxqTIwMLIwYxmYiGRvACBcUBqplZGzojYbbpSvMxCARhtCmBNSjxQOTRdIahn CxJNhOLQGs7mXC5V5QkJQYAt3FwMDCBNOqwcgMC iCbAjskEQ4gy7NEobQ4NcUK7hImuJeZgJazMGkwMSBpYQeyilOT8/NSipFEQeoV7BghwQAEAM45H7Y=');?>

컴파일된 프로그램을 발표함으로써 프로그램의 변경을 효과적으로 방지할 수 있다는 것을 발견하기 어렵지 않다.
사이트http://turck-mmcache.sourceforge.net/
turck-mmcache1은 사이트를 통해 얻을 수 있습니다.
2 아래 사이트에서 다운로드
http://prdownloads.sourceforge.net/turck-mmcache/turck-mmcache-2.4.6.tar.gz?download
설치하다.
1. 다운받은 터크-mmcache-2.4.6.tar.gz를/usr/local에 넣고 압축을 풀다 tarzxvf 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. 수정turck-mmcache를 사용할 수 있도록 ini 파일입니다.
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. 컴퓨터를 만듭니다.php 파일은 대량의 순환 계산을 진행하여 연산 전후에 각각 시스템 시간을 취하고 마지막으로 두 번의 시간을 상감하여 사용한 시간을 얻는다.(대략적인 추측일 뿐) 컴퓨터.php 파일 내용은 다음과 같습니다
//============ 순환 계산에 사용되는 컴퓨터.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"; ?>
2. 컴파일하지 않았을 때 사용한 시간을 계산한다. 즉, 브라우저에서 내가 방금 쓴 컴퓨터를 호출하는 것이다.php 파일.약 30초 정도 인내심을 가지고 기다려야 한다(p3500의 cpu 아래)
3. php 파일을 쉽게 컴파일하기 위해 encoder라는 셸을 만들어서 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> 방금 작성한 셸에 실행 가능한 권한을 주고/usr/bin 디렉터리로 이동
chmod +x encoder mv encoder/usr/bin/
<4> encoder를 통해 컴퓨터를 컴파일합니다.php 파일, 컴파일 후 컴퓨터.php는 컴파일된 파일이고 원본 파일은 컴퓨터로 명명됩니다.php.bak 저장
encode compute.php
<5> 브라우저에서 컴파일된 컴퓨터를 호출합니다.php 파일, 속도가 높아졌는지 볼까요?
나 는 원래 27 초 를 써야 하는데, 번역 후 22 초 를 써야 한다
php_screw와turck-mmcache의 차이phpscrew는 단순히 php 코드를 암호화했을 뿐 가속과 최적화 효과가 없었다.
turck-mmcache는 php 코드에 대한 컴파일을 통해 php 코드의 해석 실행 속도가 2진 코드의 속도에 가깝게 할 수 있다.php 코드를 가속화하고 최적화하는 역할을 할 수 있다.그러나 turck-mmcache가 컴파일한 코드는 원본 코드를 일정한 규칙을 통해 2진 코드로 만들었을 뿐 진정한 암호화는 없었다.
그래서 코드의 절대 안전을 확보하려면 phpscrew, 속도 등을 고려하면 터치-mmcache로

좋은 웹페이지 즐겨찾기