ホームページ >バックエンド開発 >PHPチュートリアル >アセンブリと構成 eaccelerator-0.9.5 は PHP-5.2.1 を高速化します
eaccelerator-0.9.5 をインストールして構成し、PHP-5.2.1 を高速化します
オペレーティング システム: Linux
1. eaccelerator-0.9.5 をインストールします (ZendOptimizer-3.2.2 もサポートします)
1. まず ZendOptimizer-3.2.2 をインストールします
# wget http://www.vista.ac.cn/linux/down/ZendOptimizer/ZendOptimizer-3.2.2-linux-glibc21-i386.tar.gz
# tar zxvf ZendOptimizer- 3.2.2-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.2.2-linux-glibc21-i386
# ./install.sh
インストールする場所を指定してくださいZendOptimizer: プロンプトの後に ZendOptimizer のインストール パスを入力します (例: /data/webserver/zend
) php.ini ファイルの場所を確認します: プロンプトの後に php.ini ファイルがあるディレクトリを入力します (例: /) data/webserver/php/etc
Apache 制御ユーティリティ (apachectl) へのフル パスを指定します: /data/webserver/apache/bin/apachectl など、apachectl の絶対パスを入力するように求められます
2. eaccelerator-0.9.5 高速化ソフトウェアをインストールします
# wget http://www.vista.ac.cn/linux/down/eaccelerator/eaccelerator-0.9.5.tar .bz2
# tar jxvf eaccelerator-0.9.5.tar.bz2
# cd eaccelerator-0.9.5
php が配置されているパスを指定します:
# export PHP_PREFIX ="/data/webserver/php"
# $PHP_PREFIX/bin/phpize
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install
この時点で、eaccelerator は php ディレクトリにインストールされ、画面には eaccelerator.so へのパスが表示されます。例:
共有拡張機能のインストール: /data/webserver/php/lib/php/extensions/no-debug-zts -20060613/
このパスを覚えておいてください。
eaccelerator は、PHP 拡張機能または zend 拡張機能としてインストールできます。次のインストールは PHP 拡張機能です。
/etc/php.d ディレクトリが存在する場合は、eaccelerator.ini をそのディレクトリにコピーして、デフォルト値を変更する必要があります。存在しない場合は、php.ini を変更し、[zend] の前に次の内容を追加します (注: [zend] の前に配置する必要があります):
[eaccelerator]
extension="/data/ webserver/php /lib/php/extensions/no-debug-zts-20060613/eaccelerator.so"
eaccelerator.shm_size="32"
eaccelerator.cache_dir="/data/cache/eaccelerator"
eaccelerator.enable ="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator .shm_max= "0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator .compress_level= "9"
キャッシュディレクトリを作成します:
# mkdir -p /data/cache/eaccelerator
# chmod 0777 /data/cache/eaccelerator
Apacheを再起動します:
# service httpd restart
3. ZendOptimizer と eaccelerator が正常にインストールされているかどうかを確認します
次の内容の phpinfo.php ファイルを作成します:
? phpinfo();
?>
以下の内容が表示されれば、インストールは成功です。プログラムは Zend スクリプト言語エンジンを利用します:
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies
? with eAccelerator v0.9.5, Copyright (c) 2004-2006 eAccelerator, by eAccelerator
? Zend Extension Manager v1.0.11、著作権 (c) 2003-2006、Zend Technologies を使用
? Zend Optimizer v3.2.2、著作権 (c) 1998-2006、Zend Technologies を使用
2. eaccelerator 設定情報の詳細な説明(英語の公式説明に従って翻訳)
extension="/data/webserver/php/lib/php/extensions/no- debug-zts-20060613/eaccelerator.so"
説明: PHP 拡張機能 eaccelerator.so のパス。
--------------------------------
eaccelerator.shm_size="32 "
説明: eaccelerator が使用可能 共有メモリのサイズ (MB 単位)。
Linux では、単一プロセスの最大メモリ使用量は、/proc/sys/kernel/shmmax に設定された数 (バイト単位) によって制限されます。たとえば、CentOS 4.4 の shmmax のデフォルト値は 33554432 です。バイト (33554432 バイト/1024/1024=32MB)。
値を一時的に変更します:
# echo number of bytes> /proc/sys/kernel/shmmax
上記の方法に従って変更します。自動的に再起動されます。永続的な変更を加えたい場合は、/etc/sysctl.conf ファイルを変更して次のように設定します。
Kernel.shmmax = バイト数
----------- ---- ---
eaccelerator.cache_dir="/data/cache/eaccelerator"
説明: キャッシュ パス。コマンド mkdir -p /data/cache/eaccelerator を使用できます。コマンド chmod 0777 /data/cache/eaccelerator は、ディレクトリのアクセス許可を 0777
---------------------- に設定します。 ------
eaccelerator.enable ="1"
説明: eaccelerator をオンまたはオフにします。 「1」はオン、「0」はオフを意味します。デフォルト値は「1」です。
--------------------------------
eaccelerator.optimizer=1 "
説明: コードの最適化をオンまたはオフにします。オンにすると、コードの実行が高速化されます。 「1」はオン、「0」はオフを意味します。デフォルト値は「1」です。
-------------------------------------
eaccelerator.check_mtime="1"
説明: これを開くとき 項目を選択すると、eaccelerator はリクエストごとに php ファイルの変更時間をチェックし、php ファイルが変更されているかどうかを確認します。これには時間がかかります。 phpファイルをキャッシュします。このオプションをオフにすると、PHP ファイルが変更された場合、変更された PHP ファイルを表示する前に、eaccelerator キャッシュを手動で削除する必要があります。 「1」はオン、「0」はオフを意味します。デフォルト値は「1」です。
--------------------------------
eaccelerator.debug="0 "
説明: デバッグ レコードをオンまたはオフにします。 eaccelerator をオンにすると、キャッシュ ファイルに対するすべてのリクエストが記録されます。これをオンにすることは、eaccelerator にバグがあるかどうかをデバッグする場合にのみ有益です。 「1」はオン、「0」はオフを意味します。デフォルト値は「0」です。
--------------------------------
eaccelerator.filter=""
説明: どの PHP ファイルをキャッシュするかを決定します。範囲 (「*.php *.phtml」など) を指定すると、指定したファイルがキャッシュされます。範囲が ! で始まる場合、指定されたファイルはキャッシュされません。デフォルト値は「」で、すべての PHP ファイルをキャッシュすることを意味します。
-------------------------------------
eaccelerator.shm_max="0"
説明: ユーザーが使用する たとえば、eaccelerator_put などの関数を使用すると、最大のデータを共有メモリにロードできます。デフォルト値は「0」で、制限なしを意味します。 (単位はバイト)
--------------------------------
eaccelerator .shm_ttl="0"
説明: 新しいスクリプトをバッファリングするのに十分な空き共有メモリがない場合、少なくとも shm_ttl 秒前にアクセスされていないファイルは削除されます。デフォルト値は「0」です。これは、共有メモリから古いスクリプトを削除する試みが行われないことを意味します。 (単位は秒)
--------------------------
eaccelerator.shm_prune_period="0"
説明: 新しいスクリプトをバッファリングするのに十分な空き共有メモリがない場合、その試行が shm_prune_period 秒以上前に実行された場合、古いスクリプトはすべて削除されます。デフォルト値は「0」です。これは、共有メモリから古いスクリプトを削除する試みが行われないことを意味します。 (単位は秒)
---------------------
eaccelerator.shm_only="0"
説明: コンパイルされたスクリプトのディスク上のキャッシュをオンまたはオフにします。このパラメータは、セッション データとコンテンツ キャッシュには影響しません。デフォルト値は「0」で、キャッシュにディスクと共有メモリを使用することを意味します。
--------------------------------
eaccelerator.compress="1 "
説明: キャッシュ コンテンツの圧縮を開くか閉じます。 「1」はオン、「0」はオフを意味します。デフォルト値は「1」です。
-------------------------------------
eaccelerator.compress_level="9"
説明: メモリ圧縮レベル。デフォルト値は「9」で、最大の圧縮を示します。
参考:
1. ソースからのインストール (http://www.eaccelerator.net/wiki/InstallFromSource)
2. eAccelerator の設定 (http://www.eaccelerator.net/wiki/Settings)