ホームページ  >  記事  >  バックエンド開発  >  ZendEncode_PHP チュートリアルを使用して PHP プログラムをコンパイルする

ZendEncode_PHP チュートリアルを使用して PHP プログラムをコンパイルする

WBOY
WBOYオリジナル
2016-07-13 10:38:321160ブラウズ

1. ZendEncode の仕組み

PHP を使用する人なら誰でも、PHP がスクリプト プログラミング ツールであることを知っています。また、PHP で記述されたプログラムはソース コードの形式で Web サーバーに配置される必要があるため、自分のソース コードを保護することはできません。そして、スクリプト プログラムの実行効率は、同じ機能を持つコンパイルされたバイナリ コードと比較して相対的に遅いことは誰もが知っています。したがって、PHP で書かれたプログラムをバイナリ コードにコンパイルできるツールがあれば、実行効率が向上するだけでなく、実行速度も向上するでしょう。もし本当にそのようなツールがあったとしたら、それは 2 つのうち最も良いものになるでしょう。

ちょうどいいタイミングで、リリースされたばかりの ZendEncode がこの目的のために開発されました。 ZendEncode はスクリプトをバイナリ コードに直接コンパイルできます。 ZendEncode を使用すると、ソース コードを公開することなく、作成した PHP プログラムをコンパイルして、多くのユーザーに配布できます。コンパイルされたバイナリ コードは、zend Optimizer によって透過的に読み取ることができます。つまり、顧客は、Zend Optimizer をサーバーにインストールしている限り、ZendEncode によってコンパイルされた PHP プログラムを実行できます。コンパイルされたプログラムには Zend Optimizer コードの一部が含まれているため、コンパイル プロセス中にプログラム コードがさらに最適化され、スクリプトの実行効率が向上します。

ある意味、ZendEncode は「PHP コンパイラー」です。ただし、これは実際のコンパイラではなく、ZendEncode によってコンパイルされたプログラムも、実行するために JVM を必要とする ZendOptimizer のサポートを必要とします。したがって、ZendOptimizer は PHP コンパイル済みコードの仮想マシンとみなすことができます。いずれにせよ、それはまさにそのようなものであり、それらは互いに組み合わせて使用​​する必要があります。

現在 ZendEncode でサポートされているオペレーティング システムは、Solaris、Linux、FreeBSD、Windows です。 ZendEncode は直接実行でき、php をシステムにインストールする必要はありません。


2. ZendEncode のインストール (この記事では Linux 環境でのインストールを例にしています)

最初にソフトウェア パッケージをダウンロードします。ZendEncode は無料のソフトウェアではなく、使用するには料金がかかります。 。幸いなことに、zend.com はユーザーが 30 日間無料で試用できるトライアル パッケージを提供しています。このパッケージは http://www.zend.com/ から直接入手できます。したがって、まず http://www.zend.com/ から ZendEncode および ZendOptimizer ソフトウェア パッケージをダウンロードする必要があります。次に、認証ファイル、つまりライセンスをダウンロードする必要があります。 ZendEncode は正規製品であるため、ユーザーは zend.com からライセンスを申請する必要があります。カードを申請する手順は次のとおりです:

試用ライセンスを申請するには、使用しているコンピューターの ID を zend.com に提供する必要があります。これは、申請ページで入力するホスト ID です。 (実際にはコンピュータ上のネットワーク カードの MAC) アドレス)、コンピュータ ID を確認する方法は次のとおりです。 zend.com から lmutil.z プログラムをダウンロードし、解凍してプログラム lmutil を取得し、実行して、シーケンス文字列は、システムのハードウェア特性に従って生成されます。これらのシリアル番号をライセンス申請ページのホスト ID に入力すると、zend.com が 48 時間以内にユーザーのライセンスを生成します。このファイル名は zendEncode.dat のみです。あなたのコンピュータ上で。

1. ZendEncode ソフトウェア パッケージを /usr/local/Zend ディレクトリに解凍します。解凍が完了すると、ディレクトリ内に追加の zendenc ファイルが作成されます。これが「コンパイラ」です。

2. ライセンス ファイルを /usr/local/Zend ディレクトリにコピーします

インストールは完了です。

3. ZendOptimizer のインストール

ZendEncode のインストールが完了したら、タスクの半分だけが完了します。これをサポートするインタプリタである ZendOptimizer もインストールする必要があります。ファイルは正しく実行できます。

ZendEncode とは異なり、ZendOptimizer は、PHP スクリプト ファイルの実行を高速化するのが主な機能です。Zend.com によると、ZendOptimizer の最適化により、プログラムの実行効率が 600% 向上します。著者による簡単なテストの後、実行効率は実際に大幅に向上しました。

ZendOptimizer をインストールする手順は次のとおりです:

1. zendOptimizer ソフトウェア パッケージを解凍し、zendOptimizer.so ファイルを /usr/local/Zend/lib ディレクトリにコピーします

2. /usr/local/lib を開きます。 /php.ini ファイルに次の 2 行を追加します:

zend_optimizer.optimization_level=15

zend_extension=”/usr/local/Zend/lib/ZendOptimizer.so”

3. Apache サーバーを再起動して、上記の更新が有効になります


4. ZendEncode の使用

以上で、簡単な php スクリプトを作成し、zendEncode でコンパイルして効果を確認しましょう。コンパイルされた結果を確認します:

#vi test.php



#[root@mail Zend]# ./zendenc test。 php testencode.php

Zend Encoder Unlimited (テスト ドライブ) v1.1.0 © Zend Technologies、1999-2000

ライセンス: xqkred.test.php をコンパイルしています...

test.php のエンコードを完了しました。

保存しました。

正常にコンパイルされました。ただし、コンパイルされたプログラムのサイズは以前よりもはるかに大きくなります。

testencode.php を Web サーバーのリリース ディレクトリにコピーし、ブラウザに http://localhost/testencode.php と入力します。なんと、ZendEncode の試用版を使用しているため、コンパイルされたコードは正常に実行できます。ページの上部に画像が表示され、これが ZendEncode 試用版ソフトウェア パッケージによって生成されたバイナリ ファイルであることが示されます。下の図に示すように:


正式版を購入したユーザーの場合、上記のアイコンは再表示されません。

その実行効率を見てみましょう! まず、大まかに見積もる小さな計算プログラムを作成します: compute.php


for( $i=0; $i< ;1000000;$i ) {

if(($i )!=0) {echo $i; echo ",";}

else { echo "
";}

}

$t1 =time();

echo "
"; echo $t1-$t; echo " 秒";

完了後、2 つの値の差はプログラム全体の実行に必要な時間であり、次に ZendEncode でコンパイルして再度実行します。相互比較の結果:コンパイルなしの場合は平均実行時間19秒、コンパイルしたコードの平均実行時間は9秒と大幅に実行効率が向上しているようです。

5. 注意

PHP の開発速度は速いため、バージョン番号もすぐに更新されます。上記の手順に従っても、ブラウザーに混乱したコードが表示される場合は、お使いの PHP が一致していないことを意味します。使用されている ZendOptimizer のバージョンを確認してください。上記の文字化けしたコードの問題を解決するには、対応する ZendOptimizer を再ダウンロードしてください。また、Linux 環境では、ダウンロードするソフトウェア パッケージのバージョンに注意してください。glibc と libc があります。 Redhat 6 以降のバージョンでは、glibc タイプのソフトウェア パッケージをダウンロードする必要があります。



http://www.bkjia.com/PHPjc/735103.html

www.bkjia.com

tru​​e

技術記事 1. ZendEncode の動作原理 PHP を使用する人なら誰でも、ZendEncode がスクリプト プログラミング ツールであることを知っています。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。